我的网站有两种权限的角色:销售人员、经理
在主页登录后,销售人员的帐号可以做一部分查询功能,
而经理级的帐号可以管理销售人员的帐号;我全都是用的asp.net2.0的控件,LoginView,然后用网站管理功能添加的角色和帐号,没写一行代码。问题是:
我用销售人员的帐号登录后,去点击经理才能用的管理页面的连接,就会返回到登录页面,但这个时候登录页面显示的是我预置的欢迎界面(欢迎销售人员帐号),我怎么样才能在这个时候在登录页面上写上“请用经理帐号登录”之类的提示???因为loginview好像只能写两个状态,一个是登录后的,一个是登录前的小弟初学asp.net2,以前.net1也没有接触过,最好高手们可以有简单的方法,如果是代码,请写清楚该插在哪里。谢谢各位啦~~~~~~~~~~~~~~~~~~
在主页登录后,销售人员的帐号可以做一部分查询功能,
而经理级的帐号可以管理销售人员的帐号;我全都是用的asp.net2.0的控件,LoginView,然后用网站管理功能添加的角色和帐号,没写一行代码。问题是:
我用销售人员的帐号登录后,去点击经理才能用的管理页面的连接,就会返回到登录页面,但这个时候登录页面显示的是我预置的欢迎界面(欢迎销售人员帐号),我怎么样才能在这个时候在登录页面上写上“请用经理帐号登录”之类的提示???因为loginview好像只能写两个状态,一个是登录后的,一个是登录前的小弟初学asp.net2,以前.net1也没有接触过,最好高手们可以有简单的方法,如果是代码,请写清楚该插在哪里。谢谢各位啦~~~~~~~~~~~~~~~~~~
{
if(HttpContext.Current.User.IsInRole("销售人员"))
{
Response.Write("请用经理帐号登录");
}
}
你可以判断request.querystring("returnurl")是否为空字符串,如果不为空,则可以设置一个label的值为 请用经理级帐号登录系统2\loginview 可以分为未登录用户,登录用户和角色来显示我觉得比较好的办法是,在loginview中按角色来显示不同的链接.
角色为 销售人员的 状态下 是看不到经理级角色的页面的.当然web.config中也要做相应的设置,否则就是掩耳盗铃了.
1。
这种需求,比较简单且实用的策略就是,登录框增加一个选择项(比如下来框)让用户选 销售人员 或者 经理2。
我用销售人员的帐号登录后,去点击经理才能用的管理页面的连接,就会返回到登录页面,但这个时候登录页面显示的是我预置的欢迎界面(欢迎销售人员帐号),我怎么样才能在这个时候在登录页面上写上“请用经理帐号登录”之类的提示???====可以实现,但进行各种各样的判断,比如当前角色是哪个?点了什么连接?此连接对应的角色是什么? 因为,复杂点,可能有些连接销售人员可用,经理却不可用了,所以比较的繁琐对于“高手”来说,他们会选择 HttpModule 来处理类似的问题3。
事实上, 不要分角色来登录,登录后获取用户的角色,那么就可以判断了,有什么权限就可以进入什么页面了
明天来结贴,希望还有答案。
<AnonymousTemplate>
未登录用户显示的界面
</AnonymousTemplate>
<LoggedInTemplate>
登录用户的界面,显示当前登录用户的用户名
<asp:LoginName id="LoginName1" runat="Server"></asp:LoginName>.
</LoggedInTemplate>
<RoleGroups>
可以添加多个asp:rolegroup,以将不同的角色的用户可以看见的链接区分开
<asp:RoleGroup Roles="Admin">
<ContentTemplate>
<a href="manageusers.aspx">管理用户</a>
</ContentTemplate>
</asp:RoleGroup> <asp:RoleGroup Roles="Users">
<ContentTemplate>
<a href="myuserinfo.aspx">我的信息</a>
</ContentTemplate>
</asp:RoleGroup> </RoleGroups>
</asp:LoginView> 这样users角色的用户登录后,将无法看到manageusers.aspx的链接,当然,同时,你要使用2.0的网站管理员工具(或自己修改web.config)
来配置manageusers.aspx页面或该页面所属的文件夹不能被其它角色的用户访问.
相信,这个你可配置的。。