学.net以来一直没有解决的问题,望高手能指点迷津!

czh157 2004-04-26 06:14:22
在学.net时发现这样一个问题,一直没有很好的解决方案,希望各路高手能指点迷津。

我的站里有一个论坛,这个论坛的是验证方式想使用asp.net 自带的身份验证方式。也就是通过在web.config里配制<forms name="cookiename" loginUrl="login.aspx">...来实现验证。这时就会出现这样一个问题,即:如果用户登录了论坛,那么此时Request.IsAuthenticated属性就为true,这样等于说用户也可以登录整个网站的后台管理系统了(在asp里通常是通过设置不同的Session键值来区分的),如果仅仅是通过角色来判断,好想很不方便,因为网站的整个后台管理部分已经分了很多角色。不知道大家是怎么决绝这个问题的。

注:网站的后台管理部分和论坛的登录验证部分我都想使用asp.net自带的身份验证方式,毕竟这种方式对cookie进行了很好的加密,更安全一些。
...全文
94 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
czh157 2004-04-29
  • 打赏
  • 举报
回复
ok
结帖
谢谢大家
alan99 2004-04-28
  • 打赏
  • 举报
回复
把前台和后台分成两个项目来做可能会简单点:D
xierimin 2004-04-28
  • 打赏
  • 举报
回复
通常在数据库中,创建角色/权限表/用户表.来管理的.可以看看asp.net网站高级编程这本书
czh157 2004-04-27
  • 打赏
  • 举报
回复
to:dcboy(dcboy)

我的程序放在别人给我开的服务器上,他只给我建了一个虚拟目录。

有没有其他的办法?

to:kfdxxf(qiaofeng)

网站管理部分和论坛都已经分了很多角色,在这样分是不是太麻烦了,并且也不是很好操作呀。

to: jackliu812(有个性)

你的方法不太懂

to: jackliu812(有个性)

Microsoft.net自带的例子很多,能不能指明是哪个例子。
jackliu812 2004-04-27
  • 打赏
  • 举报
回复
Microsoft .NET里自带的例子就是最好的一个此类问题的解决方案。。。
jackliu812 2004-04-27
  • 打赏
  • 举报
回复
在login.aspx同一目录里的web.config文件加:
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
?表用拒绝用户,*表允许
kfdxxf 2004-04-27
  • 打赏
  • 举报
回复
其实我以为,你可以这样做,建立一个用户表,对用户按照角色进行分类,同时你给每个不同角色不同的权限,这样根据用户所隶属的角色,用户具有不同的权限,这样登陆以后就不会出现你说的那样的情况了!
Dcboy 2004-04-27
  • 打赏
  • 举报
回复
to:erictang2003()

你的方法我试过了,不行呀

再在子目录中放另一个web.config:
<authentication mode="Forms">
<forms name="TestCookieName_bbs" loginUrl="../Login_bbs.aspx" />
</authentication>

出现错误:在应用程序级别以外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。导致该错误的原因可能是在 IIS 中没有将虚拟目录作为应用程序进行配置。

------------------------------------
这个把你的管理目录设置为虚拟目录就可以了啊
ILoveProgramer 2004-04-27
  • 打赏
  • 举报
回复
帮你up
czh157 2004-04-27
  • 打赏
  • 举报
回复
斑竹呢?
wudixiaocaoren 2004-04-27
  • 打赏
  • 举报
回复
为不同的权限页面创建不同的虚拟目录,分别放置web.config,也可以说是在一个解决方案中放置多个项目,分别在不同的web.config中设计不同的权限。
czh157 2004-04-27
  • 打赏
  • 举报
回复
session经常莫名奇妙的自动超时,很不好用。
czh157 2004-04-27
  • 打赏
  • 举报
回复
to:erictang2003()

你的方法我试过了,不行呀

再在子目录中放另一个web.config:
<authentication mode="Forms">
<forms name="TestCookieName_bbs" loginUrl="../Login_bbs.aspx" />
</authentication>

出现错误:在应用程序级别以外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。导致该错误的原因可能是在 IIS 中没有将虚拟目录作为应用程序进行配置。
erictang2003 2004-04-27
  • 打赏
  • 举报
回复
ASP.NET 配置文件是基于 XML 的文本文件(每个都命名为 web.config),可出现在 ASP.NET Web 应用程序服务器上的任何目录中。 每个 web.config 文件将配置设置应用到它所在的目录和它下面的所有虚拟子目录。子目录中的设置可随意重写或修改在父目录中指定的设置

你可以在主目录中放一个web.config:
<forms name="loginASPX" loginUrl="login.aspx">

再在子目录中放另一个web.config:
<forms name="adminASPX" loginUrl="login_admin.aspx">

就搞定了!


记住必须把你的管理页面的子目录在IIS 中设置虚拟目录!
czh157 2004-04-27
  • 打赏
  • 举报
回复
谁能提供详细一点解决方案,?
czh157 2004-04-27
  • 打赏
  • 举报
回复

还是没有很好的解决方案
郁闷...
vzxq 2004-04-27
  • 打赏
  • 举报
回复
分成两个程序来写吧。我就是这样做的。说的不对了,不要骂啊!
czh157 2004-04-27
  • 打赏
  • 举报
回复
请斑竹指点呀?
hnahzx 2004-04-26
  • 打赏
  • 举报
回复
关注
Seeko0 2004-04-26
  • 打赏
  • 举报
回复
我的使用经验解决管理是使用双重验证,
先通过IsAuthenticated进行初步判断,要进特殊目录,使用Session进行第二次判断
加载更多回复(10)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧