当前位置 : 主页 > 网络编程 > ASP >

是否值得使用ASP.Net内置的配置文件系统?

来源:互联网 收集:自由互联 发布时间:2021-06-24
我刚刚发现ASP.net使用自己的配置文件系统来注册用户,并且似乎有很多功能可用作奖励(例如安全认证).然而,对于通用开发环境以及在后台工作的事物而言,在没有我真正了解如何(例如用
我刚刚发现ASP.net使用自己的配置文件系统来注册用户,并且似乎有很多功能可用作奖励(例如安全认证).然而,对于通用开发环境以及在后台工作的事物而言,在没有我真正了解如何(例如用户数据存储的位置)的情况下在后台工作的事情似乎相当具体.

是否值得开发一个需要使用asp.net配置文件系统进行用户身份验证的网站,还是更好地开发自己的SQL数据库等?我无论如何都不会避免使用SQL,即使我使用配置文件,我也会使用配置文件唯一ID来识别SQL表中的用户数据,因此从这个意义上讲,我不会完全避免使用SQL来获取用户信息. .

关于配置文件我最喜欢的是你可以使用它们在Web.config文件中创建自定义权限(),并避免在所有aspx源文件的顶部输入相同的代码来进行身份验证检查.

我喜欢它的另一件事是安全性内置了安全的身份验证cookie,因此我不必自己处理它们.

但这似乎并不是真的很重要.对于ASP.Net开发的内容以及它们旨在实现的目标,我只是感到困惑.

概要文件/成员资格和角色提供程序API非常相互交织,并且指定的内容非常狭窄.好处是你不需要做很多功能就可以了.缺点是当您需要的东西与提供的东西不匹配时.尽管如此,API还是有许多潜在的问题需要解决,使用它确实很有意义,至少对于身份验证而言.

我的需求与API提供的不匹配,我真的只需要会员部分.问题是,我需要在Web应用程序和桌面应用程序中使用相同的身份验证和授权.我的需求非常独特,但它是专为课堂设置的.

让会员资格满足我的需求并不困难.我只需要实现Membership API.有些功能,我只是不需要使用会员资格API,如自我注册等.当然,这确实给我带来了角色管理的挑战.通常,只要您的用户对象实现IPrinciple,就可以直接使用它 – 但如果您的用户类未在同一程序集中定义,则开发Web服务器Visual Studio程序包会出现序列化问题.这些问题涉及序列化,您的选择包括将对象放在GAC中或使用GAC中的对象(如GenericPrincipal和GenericIdentity)自行处理跨appdomain序列化.后一种选择是我必须做的.

最重要的是,如果你不介意让API为你做所有的管理,那么它将工作得很好.这是一项聪明的工程工作,并试图迫使你走上一条具有良好安全实践的路线.我已经使用了许多不同的身份验证/授权API(大多数不是基于CLR的),并且API确实感觉有点限制.但是,如果您想避免会话/状态/缓存管理的陷阱,您确实需要使用API​​并根据需要插入您自己的提供程序.

使用您的数据库,如果您需要将用户链接到任何数据库元素,您将存储用户的登录ID(Context.User.Identity.Name).

网友评论