花了很大一段时间在学习MemberShip,总是要留下一些纪念文章的。 我之前的日志提到过一个简单的用户权限设计:User+Role+UserInRole(http://dddspace.com/2009/06/design-of-user-rights.html),但是这样还是不够灵活,最好需要能够对每一个功能模块进行权限控制,而且需要符合开闭原则。 MemberShip呢,是微软推出的一套很强大的用户权限管理系统。就我使用的两大部分,主要包括MemberShip和roleManager这两个模块,分别是对用户和角色进行管理。
MemberShip对系统进行管理大致分为两个办法
1.可以通过“登录”系列用户控件的任务窗口中的“管理网站”打开“ASP.Net Web 应用程序管理”。 可以控制用户、角色、权限三个主要属性,另外还能选择“提供程序”(这个provider分为MemberShip和RoleManager两种,如果同名的话,可以选择同一提供程序)
阅读全文 »
呃,这是我在一个星期内搞鼓的一个Asp.NET课程设计,没有什么太多的内容,把它发布到了Csdn了,开了5分,嗯,对得起我一个星期拼命码代码。(哦,我很无耻的使用了MG12的iNove主题……)

阅读全文 »
背景
这个月的课程设计我抽签是“房屋销售系统”,一个比较简单的类CMS系统。考虑到时间的因素,我放弃了Python in Django,而是选择了我相对熟悉的.NET平台。我使用的主要工具是动软.NET代码生成器(一个很强大的.NET代码生成器)+MemberShip(微软推出的一个Asp.NET的权限系统)。
我之前只是对MemberShip略有耳闻,动软也是用过几次,所以在一个星期内完成这个课程设计还是比较冒险的。呃“`呵呵,这也比较符合我的风格,总是要学点东西的嘛。
问题
MemberShip本身是一个很强大的权限管理系统,其中UserId使用的是uniqueidentifier这种值类型,对应到微软提出的一种标示类型GUID(System.GUID)。这是一种类似“9498ea1f-ce4e-4e6d-b636-1bbbe3db9bde”的非字符串。
动软.NET代码生成器会根据建好的数据库生成相应的代码,可以选择三层模式(BLL+DAL+Model+Web),他会自动生成每层代码。一般来说,生成的项目可以编译完成,但是如果在其中存在uniqueidentifier这种类型的表,就会产生错误,无法通过编译,错误“找不到类型或命名空间名称“uniqueidentifier”(是否缺少 using 指令或程序集引用?)”
阅读全文 »