如果你对forms验证有比较清楚的了解,请来帮我看看,谢谢!

gshope 2004-08-31 02:04:09
我有三种数据要存在验证cookie里,也就是身份验证票据里。
用户名,密码,用户类型。
用户名可以放在FormsAuthenticationTicket.Name里,密码和用户类型如果放在FormsAuthenticationTicket.UserData里的话,就要用特殊符号分隔,但是我不能保密码里没有相同的特殊符号。
问题就来了,如果密码是放在UserData里的,那么用户类型(字符串)放哪里呢?我发现FormsAuthenticationTicket其它属性好象都是不能写的。
谁有什么好办法呢??
...全文
226 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
mfkygazb 2004-08-31
  • 打赏
  • 举报
回复
学习
jamzh 2004-08-31
  • 打赏
  • 举报
回复
学习!
goody9807 2004-08-31
  • 打赏
  • 举报
回复
如果有html你转换成 ,如果字符串里本身就有 怎么办?

用Server.htmlencode方法
bushido 2004-08-31
  • 打赏
  • 举报
回复
有朋友做过passpart吗?
yichuan1982 2004-08-31
  • 打赏
  • 举报
回复
不会吧,其实我这方法也是突然想起我原来学的网络技术里面的通信协议才想出来
因为假如一个协议的命令是www,但它如果发过来的数据是www怎么办,肯定有某种约定,我忘了具体怎做,但和我刚才的差不多
假如你在HTML里面显示 
那么,它的源文件其实是: 
我没有具体思考过

我没有明白刚才你那句什么意思,字符串里本身就有 没什么影响嘛?
gshope 2004-08-31
  • 打赏
  • 举报
回复
to yichuan1982
如果有html你转换成 ,如果字符串里本身就有 怎么办?
yichuan1982 2004-08-31
  • 打赏
  • 举报
回复
是中间的特殊字符你要进行处理
比如:html里面我要显示空格是 但是我要显示 呢我就必须进行html编码,大概就是这种意思
说清楚就是:
相当于你的密码假如有特殊字符的话你要进行处理,
当然进行编码以后取出来的时候就要进行解码
yichuan1982 2004-08-31
  • 打赏
  • 举报
回复
苯方法就是你说的放在FormsAuthenticationTicket.UserData
1;可以用固定长度
2:有点像编码的方法,就像你用htmlencode方法一样,中间进行特殊字符处理
假如a为特殊字符
如果密码中有a的话就转换为aa
以次类推
反正总体思路是这样的
gshope 2004-08-31
  • 打赏
  • 举报
回复
to rickjelly2004(rick & jelly)
不对吧,forms验证和框架没关系吧,forms验证的基础是cookie,只要这些页是同一站点的,应该是用一个验证。
leisang 2004-08-31
  • 打赏
  • 举报
回复
我个人认为把密码也放进验票里没用,当用户登录后你在去取其数据有没有密码其实都一样的。因为登录后要判断的是用户拥有哪些权限,而不是他的密码是否正确。
rickjelly2004 2004-08-31
  • 打赏
  • 举报
回复
<frameset rows="45,,40" border="0" frameSpacing="0" frameBorder="0">
<frame name="header" src="_Header.aspx" scrolling="no" noresize>
<frame name="main" src="_Main.aspx">
<frame name="footer" src="_Footer.aspx" scrolling="no" noresize>

这种情况就存在三个FORM验证呀??
gshope 2004-08-31
  • 打赏
  • 举报
回复
我基本就按照系统提供的一般功能做的,也没做什么很深入的研究。
你说的多框架是什么意思?
rickjelly2004 2004-08-31
  • 打赏
  • 举报
回复
楼主,你在做FORM身份验证的时候,有好的方法,和有什么好的经验告诉我呀,我之前做过一些的,发现做的都是马马虎虎,刚好交货,有的时候没有考虑到效率什么的了。
譬如你对与多框架的验证,怎么办的??呵呵
lxy6080 2004-08-31
  • 打赏
  • 举报
回复
楼上的办法不错。
gshope 2004-08-31
  • 打赏
  • 举报
回复
恩,rickjelly2004的方法应该可以。
再看看其他人的意见,没什么问题的话就结帐了。
rickjelly2004 2004-08-31
  • 打赏
  • 举报
回复
有的方法不知道行不,譬如你把用户类型的长度固定(2位)
取的时候就去掉,不就行了吗
eboywy 2004-08-31
  • 打赏
  • 举报
回复
mark.
rickjelly2004 2004-08-31
  • 打赏
  • 举报
回复
其实你密码可以不要保存呀
devfan 2004-08-31
  • 打赏
  • 举报
回复
如果密码里面有作为UserData分隔的特殊符号
用xx.Replace("|","x");
可以不
rickjelly2004 2004-08-31
  • 打赏
  • 举报
回复
这到是的
加载更多回复(1)

62,074

社区成员

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

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

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

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