高手进!.Net自带的身份验证。。。另Regex生成6位流水号

没来 2013-10-11 07:20:46
2个问题
1.希望生成一种类似于0000134这样的6位数字流水号。不足6位以0补足。有没有比较高效的方法?可否通过Regex.Replace实现?

2.有两个web应用程序.其实是写好一个,然后又复制了一个。登录时需要身份验证,使用.Net自带的User,Membership等类。登录时通过User.IsInRole("")验证身份。登录成功后,通过session保存用户名,并用"web1User"和"web2User"区分。

2个web程序部署在同一台服务器上,用户通过不同端口访问不同的程序。测试中发现了一个问题:

比如程序中有2个可访问区域(A和B),身份验证分管理员和普通用户。管理员可访问全部内容,用户仅可访问B。

若在同一台用户端电脑上,分别以不同的用户名登录这两个程序,比如管理员登录WEB1,普通用户登录WEB2,这时,普通用户可以访问WEB2的所有内容(本来应该只可以访问B部分)。何解?

谢谢!
...全文
1119 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
CKJiang 2014-01-13
  • 打赏
  • 举报
回复
引用 9 楼 freeparadise521 的回复:
[quote=引用 8 楼 caozhy 的回复:] http://msdn.microsoft.com/zh-cn/library/53s18z5c(v=vs.80).aspx
谢谢!经过测试发现,日常访问某一个web应用程序没问题,多用户同时访问也没问题,设计的权限可以发挥应有的作用。问题在于,不同权限的用户在同一台终端电脑上同时登录2个web应用程序,则会出现权限错乱。 这与session有关?session已经作出区分。 还是因为这两套程序部署在了同一台服务器上? [/quote] lz,遇到个跟你一样的问题,想请教下,session怎么才算作出区分?我刚开始是在进入程序时,使用session.clear()将其清除,发觉没效果!不知lz是否能给些建议?
没来 2013-12-20
  • 打赏
  • 举报
回复
应该不能,所以不理解。 两套程序部署在一台服务器上,IP地址一样,仅以不同的端口号区分,一个是80,另一个81。 然后在同一台客户端使用2个不同身份权限的用户分别登录两套程序,如果较低权限用户先登录,高权限的用户最后登录,则低权限用户会拥有高权限。就此出现混乱
引用 10 楼 zifengshen1981 的回复:
session能跨应用么?
紫魂一号 2013-10-12
  • 打赏
  • 举报
回复
session能跨应用么?
没来 2013-10-11
  • 打赏
  • 举报
回复
引用 8 楼 caozhy 的回复:
http://msdn.microsoft.com/zh-cn/library/53s18z5c(v=vs.80).aspx
谢谢!经过测试发现,日常访问某一个web应用程序没问题,多用户同时访问也没问题,设计的权限可以发挥应有的作用。问题在于,不同权限的用户在同一台终端电脑上同时登录2个web应用程序,则会出现权限错乱。 这与session有关?session已经作出区分。 还是因为这两套程序部署在了同一台服务器上?
threenewbee 2013-10-11
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/53s18z5c(v=vs.80).aspx
没来 2013-10-11
  • 打赏
  • 举报
回复
引用 6 楼 caozhy 的回复:
C# s = "123"; s = s.PadLeft(6, '0'); VB s = "123" s = s.PadLeft(6, "0")
刚才看走眼,确实是一样。谢谢! 身份验证那个,何解?
threenewbee 2013-10-11
  • 打赏
  • 举报
回复
C# s = "123"; s = s.PadLeft(6, '0'); VB s = "123" s = s.PadLeft(6, "0")
threenewbee 2013-10-11
  • 打赏
  • 举报
回复
引用 3 楼 freeparadise521 的回复:
[quote=引用 1 楼 caozhy 的回复:] (1)s.PadLeft(6, '0') (2)你定义不同的角色不就可以了。
另, vb.net中有没有类似string.padleft的函数?[/quote] VB.NET和C#不都一样么。
没来 2013-10-11
  • 打赏
  • 举报
回复
引用 2 楼 freeparadise521 的回复:
[quote=引用 1 楼 caozhy 的回复:] (1)s.PadLeft(6, '0') (2)你定义不同的角色不就可以了。
是不同角色。比如有两个用户,UserA, UserB。UserA分配为管理员,UserB分配为普通用户。目前也是这么分配的。但偶然有一次就发现了上述问题。[/quote] .Net 4.5才有?!
没来 2013-10-11
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
(1)s.PadLeft(6, '0') (2)你定义不同的角色不就可以了。
另, vb.net中有没有类似string.padleft的函数?
没来 2013-10-11
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
(1)s.PadLeft(6, '0') (2)你定义不同的角色不就可以了。
是不同角色。比如有两个用户,UserA, UserB。UserA分配为管理员,UserB分配为普通用户。目前也是这么分配的。但偶然有一次就发现了上述问题。
threenewbee 2013-10-11
  • 打赏
  • 举报
回复
(1)s.PadLeft(6, '0') (2)你定义不同的角色不就可以了。

62,067

社区成员

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

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

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

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