首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Forms认证后,怎么判断是管理员还是会员

2012-01-06 
Forms认证后,如何判断是管理员还是会员?我的项目如下:站点|_Admin(管理员目录)||_Index.aspx||_Member(会

Forms认证后,如何判断是管理员还是会员?
我的项目如下:
站点
|_Admin(管理员目录)
|   |_Index.aspx
|
|_Member(会员目录)
|   |_Index.aspx
|
|_web.config
|_ToLogin.aspx
|_Admin_Login.aspx
|_Member_Login.aspx

根目录的web.config配置如下:
    <system.web>
        <authentication   mode= "Forms ">
            <forms   name= "nmg.cicea "   loginUrl= "ToLogin.aspx "   timeout= "30 ">
            </forms>
    </system.web>

    <location   path= "Admin ">
        <system.web>
            <authorization>
                <deny   users= "? "/>
            </authorization>
        </system.web>
    </location>

    <location   path= "Member ">
        <system.web>
            <authorization>
                <deny   users= "? "/>
            </authorization>
        </system.web>
    </location>

我希望管理员通过Admin_Login.aspx登陆后只能访问Admin目录,而会员通过Member_Login.aspx登陆后只能访问Member目录。

但我现在存在的问题是,不管是管理员还是会员登陆后,都同时能访问Admin和Member目录。应该怎么解决呢?请大侠帮帮忙!

[解决办法]
在数据库里加一个字段来区别是会员还是管理员..
在程序里面加个SESSION.管理员页面只允许管理员..会员页面可以允许任何人

我介意最好将管理页面跟前台页面分开..管理员表与会员表区分开来..
页面的话也分2个登录页面..
不需要在WebConfg设置
[解决办法]
?表示匿名用户,应该设置为禁止所有用户访问,但管理员可访问
<location path= "Admin ">
<system.web>
<authorization>
<allow users= "允许的用户列表 " 或 roles= "允许的脚色列表 " />
<deny users= "* "/>
</authorization>
</system.web>
</location>
[解决办法]
楼上正解
<location path= "Admin ">
<system.web>
<authorization>
<deny users= "* "/>
</authorization>
</system.web>
</location>
除了管理员,拒绝其他所有用户。
[解决办法]
<location path= "Admin ">
<system.web>
<authorization>
<allow roles = "admin "/>
<deny users= "* "/>
</authorization>
</system.web>
</location>

加一个用户角色字段,存入User.Data中在Application_Request中获取就可以了
网上有一些这样的例子,具体你可以查一查

热点排行