日期:2014-05-17  浏览次数:20396 次

通过JS进行权限验证的问题。
小弟俺打算做个东西。初步是这么想的:页面都用单纯的HTML,与服务器数据交互靠JQAjax,服务器与数据库数据交换与逻辑处理用WCF。目前的问题就是权限验证。

Forms验证不支持HTML,所以目前想到的就是服务端验证或客户端验证或者两者混合验证。
之前没做过类似的,不知道如何下手。

首先是客户端验证,可以通过AuthenticationService到服务端取回一个验证票存到Cookie中,但是接下来如何用JS进行验证?如果客户端禁用了JS或者Cookie,或者绕过验证这一步该如何避免?

其次是服务端验证,每次访问页面和数据提交与读取的时候都去服务端验证,会不会对服务器造成影响(假如并发量相当高)?或者有没有一种全局验证的方式?用Session还是其他的?

最后是混合验证,没想好怎么做,两端都验证?

请大神们指点。小弟俺虚心请教。
js cookie

------解决方案--------------------
做两次验证,客户验证完提交到服务器再验证一次
------解决方案--------------------
引用:
我觉得客户端验证用户身份纯属多此一举。


+1
------解决方案--------------------
客户端验证无意义

服务器端只在需要验证的地方验证,

你可在IHttpModule 或者 Global.asax 根据你采用的策略来全局调整验证范围
------解决方案--------------------
客户端验证无意义
客户端的验证禁用Js就没用了。可以跟2楼说的一样用服务端、客户端一起验证
------解决方案--------------------
引用:
Quote: 引用:

我觉得客户端验证用户身份纯属多此一举。


实际上都要带着票去服务端验证的吧?那客户端是怎么带过去的?服务端用什么样的解决方案捏?



服务器验证,返回session id,建立session
客户端传session id,表明以后的操作同属一个会话
服务器和session内存的账户信息比对,判断是否登录
------解决方案--------------------
你可以研究一下Session模型机制,自己做一个类似Session的功能出来,存储当前用户登录的身份信息!至于说客户端验证,我个人觉得没什么作用,骗骗人而已,拿到你的JS代码分析一下就可以简单绕过去了,身份验证一定要在服务器端做好,安全第一,哈哈
------解决方案--------------------
要进行权限验证的话,服务端验证为主,客户端辅助验证最好,毕竟正常情况下,主动去避开客户端验证的用户不会很多,客户端可以验证的话,也可减少一些服务器的压力