Guushuuse .NET

领域驱动设计==哲学

导航

ASP.NET&Spring.NET&NHibernate最佳实践(二十三)——第4章权限子系统(16)

4.6. 权限子系统表示层(Web)
修改SignIn.aspx
<asp:Content ID="MiddleColumnContent" ContentPlaceHolderID="MiddleColumnZone" runat="server">
    
<asp:Panel ID="Panel1" runat="server" GroupingText="用户登录">
        
<br />
        
<asp:Login ID="Login1" runat="server" TitleText="">
        
</asp:Login>
    
</asp:Panel>
</asp:Content>

修改Roles.aspx
<asp:Content ID="MiddleColumnContent" ContentPlaceHolderID="MiddleColumnZone" runat="server">
    
<asp:Panel ID="Panel1" runat="server" GroupingText="角色列表">
        
<br />
        
<asp:BulletedList ID="lstRoles" runat="server">
                
</asp:BulletedList>
    
</asp:Panel>
    
<hr />
    
<asp:Panel ID="Panel2" runat="server" GroupingText="新增角色">
        
<br />
         角色名称:
<asp:TextBox ID="txtRoleName" runat="server"></asp:TextBox>
            
<asp:Button ID="btnAddRole" runat="server" Text="新增角色" OnClick="btnAddRole_Click" />
    
</asp:Panel>
</asp:Content>

修改Roles.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Roles : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!Page.IsPostBack)
        
{
            BindRoles();
        }

    }


    
protected void btnAddRole_Click(object sender, EventArgs e)
    
{
        System.Web.Security.Roles.CreateRole(txtRoleName.Text);

        BindRoles();
    }


    
private void BindRoles()
    
{
        lstRoles.Items.Clear();

        
string[] roles = System.Web.Security.Roles.GetAllRoles();

        
if (roles != null)
        
{
            
foreach (string role in roles)
            
{
                lstRoles.Items.Add(role);
            }

        }

    }

}

posted on 2008-05-17 21:56  guushuuse  阅读(856)  评论(1编辑  收藏  举报