로그인 할 때 "사용자 이름"으로 이메일 주소를 사용하고 있습니다. 사용자가 로그인 할 때 생성 된 User 객체에는 올바르지 않은 이름으로 이메일 주소가 있습니다. 실제 이름은 DB의 다른 필드입니다. 전자 메일 주소로 로그인하고 인증 한 다음 사용자 개체에 올바른 이름을로드하려면 어떻게합니까?이메일 주소가있는 Asp.Net 인증
사용자 정의 MembershipProvider 및 RoleProvider와 함께 폼 인증을 사용하고 있습니다.
편집 다음은
내가 이메일 주소와 비밀번호로 사용자를 검증하는 사용자 정의는 MembershipProvider를 명확히한다. 기본 로그인 컨트롤에 의해 호출되고 web.config에 등록됩니다.
<asp:Login ID="AdminLogin" runat="server" MembershipProvider="AdminMembershipProvider">
</asp:Login>
의 Web.config : 그냥이 내 사용자가 제대로 로그인으로
<authentication mode="Forms">
<forms loginUrl="Default.aspx" />
</authentication>
<membership defaultProvider="AdminMembershipProvider">
<providers>
<clear />
<add name="AdminMembershipProvider"
type="AdminMembershipProvider"
connectionStringName="EvalSysConnectionString"
/>
</providers>
</membership>
. 그러나 전자 메일 주소의 Context.User.Identity.Name을 반환합니다. 나는 이름과 성을 DB에 저장하고 이것을 이름으로하고 싶다.
필자는 Global.asax 파일을 만들고 PostAutheticateRequest 메서드를 재정 의하여이를 나타낼 것 같은 다양한 게시물을 읽었습니다. 그러나 나는이 전략을 어떻게 진행해야할지 모른다.
<%@ Application Language="C#" %>
<script runat="server">
protected void Application_PostAuthenticateRequest()
{
string test = HttpContext.Current.User.ToString();
}
</script>
내 질문은 너무 모호했습니다. 나는이 질문에 너무 빠져서 좋은 질문을 쓰는 방법을 모른다.
질문에 약간의 의미가 있습니다 .... 시도해 보셨습니까? –
미치와 동의하십시오. 당신은 당신이 시도한 것을 게시하거나 MembershipProvider가 어떻게 불려지는지 등을 게시해야합니다. – mfanto