2011-12-01 61 views
0

我想使用具有Windows身份驗證和成員身份角色的ASP.NET成員資格提供程序。我需要能夠將Windows用戶添加到角色。我可以簡單地將域用戶添加到成員資格角色。不知道如何做到這一點。將Windows帳戶用戶添加到成員資格提供者角色

我不需要將用戶信息,密碼等存儲在Memebership表中。我只是想使用Memebership提供者來實現角色功能。

本質上,我試圖做的是,如果我用(域帳戶)登錄的用戶處於「管理員」角色 - 我可以看到該頁面。我不想維護第二組憑據(Windows和Membership)來執行此操作。這也不會要求用戶登錄以查看管理頁面。

感謝您提供的任何提示...

回答

0

這裏有幾個選項。

  • 您可以將AzMan與ADAM或XML後備存儲一起使用。
  • 你可以角色你自己的RoleProvider
  • 你可以趕上在Global.asax頁的Application_AuthenticateRequest事件,並在表中進行查找,文件等

例如這裏是代碼替換當前上下文用戶使用通用的主體。

protected void Application_AuthenticateRequest(object sender, EventArgs e) 
    { 
     if (Context.User != null) 
     { 
      var genericIdentity = new GenericIdentity(Context.User.Identity.Name); 
      //TODO - get roles from somewhere.... 
      var principal = new GenericPrincipal(genericIdentity, new string[] { "CanSavePerson" }); 
      Context.User = principal; 
     } 
    } 

而不是字符串[] {「CanSavePerson」}你會在你選擇的數據存儲中查找該人的角色。

  • 作爲最終選項,您可以在web.config中對用戶及其角色進行硬編碼。
相關問題