코드 블라인드 순간이 있습니다.web.config에 저장된 사용자를 구현하는 멤버 자격 공급자는 무엇입니까?
ASP.NET 4.0.
의 Web.config :
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="DataViewer" loginUrl="login.aspx">
<credentials passwordFormat="Clear">
<user name="devuser" password="test" />
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
및 로그인 제어 :
<asp:Login ID="login" runat="server" />
내가 사용자 이름과 암호를 입력하고 로그인을 클릭하면이 정지됩니다.
내가 깨면, login.AuthenticateUsingMembershipProvider()
이 SqlMembershipProvider.ValidateUser()
을 호출하는 중임을 호출 스택에서 볼 수 있습니다. 이 프로젝트에는 데이터베이스가 정의되거나 포함되어 있지 않으며 SqlMembershipProvider를 사용해야한다고 지정하지 않았습니다.
내 질문에 <credentials>
요소의 사용자 이름과 암호를 ASP.NET이 사용하게하려면 어떤 멤버 공급자를 사용해야합니까? web.config
?
될 수 있기 때문에 기본 멤버 자격 공급자 는 사용자 저장소로 SQL Server 데이터베이스를 사용하는 AspNetSqlProvider입니다. – Scorpio
이것이 임시 해결책이라고 기대하고 있습니다. web.config에서 자격 증명을 유지 관리하는 것은 매우 어려워지며 각각의 변경으로 인해 웹 응용 프로그램이 다시 시작됩니다. – jrummell
물론. 그러나 그것은 현재의 시나리오에 적합합니다.암호가 절대로 바뀌지 않는 단일 사용자를 위해 간단한 응용 프로그램에 사소한 보호 기능을 제공해야합니다. 더 큰 의존성을 가진 솔루션은 적절하지 않습니다. – tomfanning