根据登录权限显示的问题 如何根据用户的登录权限来显示不同的web.sitemap假设用户现在分两种,一种是管理员,登录后可以看到web.sitemap所有的节点。另外一种是普通用户,登录后有一些web.sitemap的节点无法看见,请问如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据session取得用户名查表得到权限然后判断、加载。 这个权限不复杂,楼上的方法也可以如果仅考虑这个的话web.sitemap,那就在登录的时候判断一下该跳到哪个页面就可以了 是否在模板页的 protected void Page_Load(object sender, EventArgs e)方法中判断加载?可是如何根据用户的权限来加载<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > <siteMapNode title="操作界面" description="登陆界面管理"> <siteMapNode url="~/mesSearch.aspx" title="信息查询" description="管理用户信息" /> <siteMapNode url="~/useradd.aspx" title="用户信息添加" description="添加用户信息信息" /> </siteMapNode></siteMap>加入一般用户不会看见“用户信息添加”这个标签,该如何做? 可以使用一个XML文档配置显示文件然后使用forms表单认证基本上网站的权限问题都是这样解决的 根据角色,模块实现权限管理,绑定到treeview或 XmlDataSource GetDataSource(string UserRole) { XmlDataSource xds= new XmlDataSource(); xds.XPath = "siteMap/siteMapNode"; switch (UserRole) { case "Administrator": xds.DataFile = ""; break; case "User": xds.DataFile = ""; break; default: xds.DataFile = ""; break; } xds.DataBind(); return xds; } 另外还有问题想问下大家:我在web.config中设置了 <authentication mode="Forms"> <forms loginUrl="Default.aspx" name=".ASPXAUTH"> </forms> </authentication> <authorization> <deny users="?"></deny> </authorization>本意是想让没有登录的用户无法越过登录界面去访问其他的界面。但是我发现系统登录界面的背景图片丢失了,并且即使在登录界面输入登录信息之后也无法进入到主界面。请问是怎么回事? 这个方法不挺合适?跳转。。验证成功后。设置跳转到框架页了没 response.redirect('default.aspx') 路径要正确 因为Forms验证默认的路径是你应用程序下的所有文件,所以在没有登录之前,是获取不到图片的。必须设置你的图片的路径允许匿名用户访问。<location path="image">//path为你存放图片的路径 <system.web> <authorization> <allow users="?"></allow> </authorization> </system.web> </location> 那么请问hnsdwhl,如何实现没有登录的用户不得去浏览其他的页面?谢谢 <?xml version="1.0" encoding="utf-8" ?><siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true"> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="Logon.aspx" title="首頁" description=""> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="公司管理" description="" > <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="Bulletin.aspx" title="查看布告" description=""/> <siteMapNode roles="經理,經理助理" url="BulletinAdd.aspx" title="添加布告" description="" /> <siteMapNode roles="經理,經理助理" url="BulletinEdit.aspx" title="修改刪除" description=""/> </siteMapNode> <siteMapNode roles="經理,經理助理,副理,襄理,課長" title="員工管理" description=""> <siteMapNode roles="經理,經理助理,副理,襄理,課長" url="JobSearch.aspx" title="查看工作" /> <siteMapNode roles="經理,副理,襄理,課長" url="ReportSearch2.aspx" title="員工總結" description=""/> <siteMapNode roles="經理,經理助理" url="PersonnelManage.aspx" title="人員管理" /> </siteMapNode> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="客戶部分" description=""> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="VendorManage.aspx" title="客戶管理" /> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="VendorAdd.aspx" title="添加客戶" /> </siteMapNode> <siteMapNode roles="經理,助理工程師,副理,襄理,課長,資深工程師,工程師" title="RMA" description=""> <siteMapNode roles="經理,助理工程師,副理,襄理,課長,資深工程師,工程師" url="NewSimulation.aspx" title="Simulation Request" /> </siteMapNode> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="個人信息" description=""> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="JobAdd.aspx" title="工作日志" description=""/> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="PasswordChange.aspx" title="密碼修改" description=""/> </siteMapNode> <!--<siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="個人總結"> <siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="ReportSearch.aspx" title="員工總結" description=""/> <siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="ReportAdd.aspx" title="添加總結" description=""/> <siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="ReportUpdate.aspx" title="修改總結" description=""/> <siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="ReportState.aspx" title="提交總結" description=""/> </siteMapNode>--> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="公司信息"> <siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="PersonnelSearch.aspx" title="職員名單" description=""/> </siteMapNode> </siteMapNode></siteMap>我用的membersihp+web.sitemap做的,如何區別角色在sitemap中的配置如上。 <authentication mode="Forms"> <forms loginUrl="Default.aspx" name=".ASPXAUTH"> </forms> </authentication> <authorization> <deny users="?"></deny></authorization>把这段代码加上就可以了啊,这里是禁止匿名用户访问其他的页面,而前面location的设置是为了允许匿名用户访问image目录下的图片,这样才可以使得你的图片在登录页面得以显示出来。 另外设置Forms验证,在通过用户名和密码的认证后,还需要对用户授权,才能够跳转到你想要的页面去。FormsAuthentication.SetAuthCookie(txtUserName.Text,false); HTML无法转义! 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值 关于首页图片较多时的优化问题 如何清空Request里的值或者回发时URL地址给客户端一个不带参数的Url 关于DropDownList 求 Infragistics NetAdvantage 2006 新手求救,请帮忙看看错在哪 求 OWC控件在做曲线图时 ,Y值与X坐标不一致的问题 发布包含crystal report到目标服务器上后,asp.net错误,如何解决。 如何判断DATASET或SQLDATAaDAPTER中的值为空呢?? 怎样通过字符串得到服务端控件对象的引用 关于不同浏览模式的异同?
查表得到权限
然后判断、加载。
如果仅考虑这个的话web.sitemap,那就在登录的时候判断一下该跳到哪个页面就可以了
是否在模板页的
protected void Page_Load(object sender, EventArgs e)方法中判断加载?
可是如何根据用户的权限来加载
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="操作界面" description="登陆界面管理">
<siteMapNode url="~/mesSearch.aspx" title="信息查询" description="管理用户信息" />
<siteMapNode url="~/useradd.aspx" title="用户信息添加" description="添加用户信息信息" />
</siteMapNode>
</siteMap>
加入一般用户不会看见“用户信息添加”这个标签,该如何做?
然后使用forms表单认证
基本上网站的权限问题都是这样解决的
或
XmlDataSource GetDataSource(string UserRole)
{
XmlDataSource xds= new XmlDataSource();
xds.XPath = "siteMap/siteMapNode";
switch (UserRole)
{
case "Administrator":
xds.DataFile = "";
break;
case "User":
xds.DataFile = "";
break;
default:
xds.DataFile = "";
break;
}
xds.DataBind();
return xds;
}
我在web.config中设置了
<authentication mode="Forms">
<forms loginUrl="Default.aspx" name=".ASPXAUTH">
</forms>
</authentication>
<authorization> <deny users="?"></deny> </authorization>
本意是想让没有登录的用户无法越过登录界面去访问其他的界面。但是我发现系统登录界面的背景图片丢失了,并且即使在登录界面输入登录信息之后也无法进入到主界面。请问是怎么回事?
这个方法不挺合适?跳转。。验证成功后。设置跳转到框架页了没 response.redirect
('default.aspx') 路径要正确
<system.web>
<authorization>
<allow users="?"></allow>
</authorization>
</system.web>
</location>
那么请问hnsdwhl,如何实现没有登录的用户不得去浏览其他的页面?谢谢
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true">
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="Logon.aspx" title="首頁" description="">
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="公司管理" description="" >
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="Bulletin.aspx" title="查看布告" description=""/>
<siteMapNode roles="經理,經理助理" url="BulletinAdd.aspx" title="添加布告" description="" />
<siteMapNode roles="經理,經理助理" url="BulletinEdit.aspx" title="修改刪除" description=""/>
</siteMapNode>
<siteMapNode roles="經理,經理助理,副理,襄理,課長" title="員工管理" description="">
<siteMapNode roles="經理,經理助理,副理,襄理,課長" url="JobSearch.aspx" title="查看工作" />
<siteMapNode roles="經理,副理,襄理,課長" url="ReportSearch2.aspx" title="員工總結" description=""/>
<siteMapNode roles="經理,經理助理" url="PersonnelManage.aspx" title="人員管理" />
</siteMapNode>
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="客戶部分" description="">
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="VendorManage.aspx" title="客戶管理" />
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="VendorAdd.aspx" title="添加客戶" />
</siteMapNode>
<siteMapNode roles="經理,助理工程師,副理,襄理,課長,資深工程師,工程師" title="RMA" description="">
<siteMapNode roles="經理,助理工程師,副理,襄理,課長,資深工程師,工程師" url="NewSimulation.aspx" title="Simulation Request" />
</siteMapNode>
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="個人信息" description="">
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="JobAdd.aspx" title="工作日志" description=""/>
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="PasswordChange.aspx" title="密碼修改" description=""/>
</siteMapNode>
<!--<siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="個人總結">
<siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="ReportSearch.aspx" title="員工總結" description=""/>
<siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="ReportAdd.aspx" title="添加總結" description=""/>
<siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="ReportUpdate.aspx" title="修改總結" description=""/>
<siteMapNode roles="經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="ReportState.aspx" title="提交總結" description=""/>
</siteMapNode>-->
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" title="公司信息">
<siteMapNode roles="經理,經理助理,副理,襄理,課長,資深工程師,工程師,助理工程師" url="PersonnelSearch.aspx" title="職員名單" description=""/>
</siteMapNode>
</siteMapNode>
</siteMap>
我用的membersihp+web.sitemap做的,如何區別角色在sitemap中的配置如上。
<authentication mode="Forms">
<forms loginUrl="Default.aspx" name=".ASPXAUTH">
</forms>
</authentication>
<authorization>
<deny users="?"></deny>
</authorization>把这段代码加上就可以了啊,这里是禁止匿名用户访问其他的页面,而前面location的设置是为了允许匿名用户访问image目录下的图片,这样才可以使得你的图片在登录页面得以显示出来。