我正在使用電子郵件地址作爲登錄的「用戶名」。當用戶登錄創建的用戶對象具有電子郵件地址作爲不正確的名稱時。實際名稱是數據庫中的另一個字段。如何根據電子郵件地址登錄並進行身份驗證,然後在用戶對象中加載正確的名稱?使用電子郵件地址進行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。我有名字和姓氏存儲在數據庫中,並希望這是名稱。
我讀了各種帖子,似乎表明我將不得不創建一個Global.asax文件並重寫PostAutheticateRequest方法來執行此操作。但是我不知道如何繼續這個策略。
<%@ Application Language="C#" %>
<script runat="server">
protected void Application_PostAuthenticateRequest()
{
string test = HttpContext.Current.User.ToString();
}
</script>
對不起,我的問題太模糊了。我很迷茫,我不知道如何寫出一個好問題。
問題沒有意義....你有什麼嘗試? – 2011-03-06 03:00:32
同意米奇。你需要發佈你已經嘗試過的東西,你的MembershipProvider是如何調用的等 – mfanto 2011-03-06 03:08:37