我做了一个对cookie检验但我并不想每个页都验证

cqhydz 2004-11-05 02:20:33
有关窗体验证我是参照以下文章做的。但发现现在所有页均要先到logon.aspx。但有些页面我并不需要检验的如何修改呢


http://www.microsoft.com/china/technet/security/guidance/secmod18.mspx
...全文
241 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
暗石绿 2004-11-06
  • 打赏
  • 举报
回复


web.config 加在哪里啊
<configuration>
之间吗
</configuration>



是的
cqhydz 2004-11-05
  • 打赏
  • 举报
回复
up
okwinds 2004-11-05
  • 打赏
  • 举报
回复
加个字,在“你”和“怕”之间加个“不”字
okwinds 2004-11-05
  • 打赏
  • 举报
回复
呵呵,好热闹啊,但是Cookies有安全漏洞哦,你怕被人利用,损害你用户的利益,然后再遭用户投诉?
cqhydz 2004-11-05
  • 打赏
  • 举报
回复

在 Application_AuthenticateRequest中
if(null == authCookie)
{

FormsAuthentication.RedirectFromLoginPage("ttt",false);

return;
}

这样不管我请求哪个面页就会自动转到我的default.aspx页上。这里我设置的启始页是web1.apsx页面啊
cqhydz 2004-11-05
  • 打赏
  • 举报
回复
web.config 加在哪里啊
<configuration>
之间吗
</configuration>
colinliu 2004-11-05
  • 打赏
  • 举报
回复
在web.config中

<!-- 身份验证
此节设置应用程序的身份验证策略。可能的模式是“Windows”、“Forms”、

“Passport”和“None”

-->
<authentication mode="Forms">
<forms name="IStoreStoreAuth" loginUrl="login.aspx" timeout="20" protection="All" path="/" />
</authentication>
<authorization>
<deny users="?" />
</authorization>


如上用,可以的。。。。
暗石绿 2004-11-05
  • 打赏
  • 举报
回复
在 web.config 文件里加入以下节点:
<location path="test.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

在上面,test.aspx 页为不需要验证的页面。
cqhydz 2004-11-05
  • 打赏
  • 举报
回复
在 Application_AuthenticateRequest中
if(null == authCookie)
{

FormsAuthentication.RedirectFromLoginPage("ttt",false);

return;
}

这样不管我请求哪个面页就会自动转到我的default.aspx页上。如果只有return;这一句的话又会自动转到login.aspx下。

下面是我项目中的设置

web.config
<authentication mode="Forms">
<forms name="Iname" loginUrl="login.aspx" timeout="20" protection="All" path="/" />

Global.asax
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
// 提取窗体身份验证 cookie
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName];

if(null == authCookie)
{

FormsAuthentication.RedirectFromLoginPage("zbook",false);

return;
}


FormsAuthenticationTicket authTicket = null;
try
{
authTicket = FormsAuthentication.Decrypt(authCookie.Value);
}
catch(Exception ex)
{
// 记录异常情况详细信息(为简便起见,已省略)
Response.Write(ex.ToString());
return;
}

if (null == authTicket)
{
// 无法解密 Cookie。
return;
}

// 创建票证后,为 UserData 属性指定一个以管道符分隔的角色名字符串。
string[] roles = authTicket.UserData.Split(new char[]{'|'});

// 创建一个标识对象
FormsIdentity id = new FormsIdentity( authTicket );

// 该主体将通过整个请求。
GenericPrincipal principal = new GenericPrincipal(id, roles);
// 将新的主体对象附加到当前的 HttpContext 对象
Context.User = principal;



}
cqhydz 2004-11-05
  • 打赏
  • 举报
回复
zlc810821(卷心菜)的方法不错就是太复杂了
yllaji(51Hgame.com) 方法比较简单实用,同我想的第一个思路类似。
zhn0410 2004-11-05
  • 打赏
  • 举报
回复
<authentication mode="Forms">
<forms name="FormAuthentication" path="/" loginUrl="members.aspx?Action=login" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
babyfast 2004-11-05
  • 打赏
  • 举报
回复
同意 jonescheng(C#前进无极限)
需要验证页和web.config的放到一个文件夹下.其他的就不用验证了
冰蓝2099 2004-11-05
  • 打赏
  • 举报
回复
验证登陆 我是这么作的

FormsAuthentication.RedirectFromLoginPage(UserName,false);
Response.Redirect("main.aspx");

呵呵 没什么问题

我登陆后 默认是 main.aspx
冰蓝2099 2004-11-05
  • 打赏
  • 举报
回复
我是这么用的 没出过问题


<!-- 身份验证
此节设置应用程序的身份验证策略。可能的模式是“Windows”、“Forms”、

“Passport”和“None”

-->
<authentication mode="Forms">
<forms name="IStoreStoreAuth" loginUrl="login.aspx" timeout="20" protection="All" path="/" />
</authentication>
<authorization>
<deny users="?" />
</authorization>

zlc810821 2004-11-05
  • 打赏
  • 举报
回复
做一个基类,其中加入cookie的验证,其余的页面继承这个基类。就可以实现了。我就是这么做的。绝对oo
cqhydz 2004-11-05
  • 打赏
  • 举报
回复
Global.asax 设置什么
conationego 2004-11-05
  • 打赏
  • 举报
回复
这个好象是在Global.asax 中设置一下,写一些代码,我在章立民那本书上看到过,你可以去查一下
cqhydz 2004-11-05
  • 打赏
  • 举报
回复
????
jonescheng 2004-11-05
  • 打赏
  • 举报
回复
你把你想要验证的文件放到一个目录下,然后把Web.config文件放到这个目录就行了。
当然Web.config要配置好访问的控制。。。
cqhydz 2004-11-05
  • 打赏
  • 举报
回复
具体点
加载更多回复(2)

62,243

社区成员

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

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

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

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