asp.net mvc4 中自动生成的权限管理表的说明

2023-10-31 16:08

本文主要是介绍asp.net mvc4 中自动生成的权限管理表的说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

因为是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因。

如有冒犯请联系本人,或删除,或标明出处。

因为好的文章,以前只想收藏,但连接有时候会失效,所以现在碰到好的直接转到自己这里。

原文 出处http://blog.csdn.net/hj458377603/article/details/9451603



1.asp.net mvc自带的权限表的创建是在InitializeSimpleMembershipAttribute.cs中实现的。


2.InitializeSimpleMembershipAttribute.cs

[csharp]  view plain copy print ?
  1. using System;  
  2. using System.Data.Entity;  
  3. using System.Data.Entity.Infrastructure;  
  4. using System.Threading;  
  5. using System.Web.Mvc;  
  6. using WebMatrix.WebData;  
  7. using FindU1.Models;  
  8.   
  9. namespace FindU1.Filters  
  10. {  
  11.     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]  
  12.     public sealed class InitializeSimpleMembershipAttribute : ActionFilterAttribute  
  13.     {  
  14.         private static SimpleMembershipInitializer _initializer;  
  15.         private static object _initializerLock = new object();  
  16.         private static bool _isInitialized;  
  17.   
  18.         public override void OnActionExecuting(ActionExecutingContext filterContext)  
  19.         {  
  20.             // Ensure ASP.NET Simple Membership is initialized only once per app start  
  21.             LazyInitializer.EnsureInitialized(ref _initializer, ref _isInitialized, ref _initializerLock);  
  22.         }  
  23.   
  24.         private class SimpleMembershipInitializer  
  25.         {  
  26.             public SimpleMembershipInitializer()  
  27.             {  
  28.                 Database.SetInitializer<UserContext>(null);  
  29.   
  30.                 try  
  31.                 {  
  32.                     using (var context = new UserContext())  
  33.                     {  
  34.                         if (!context.Database.Exists())  
  35.                         {  
  36.                             // Create the SimpleMembership database without Entity Framework migration schema  
  37.                             ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();  
  38.                         }  
  39.                     }  
  40.                     //Web.config中的配置,前四个参数分别是数据库连接ConnectionString,表名称,UserId,UserName(对应的数据库中的字段)  
  41.                     WebSecurity.InitializeDatabaseConnection("UserContext""Users""UserID""Email", autoCreateTables: true);  
  42.                 }  
  43.                 catch (Exception ex)  
  44.                 {  
  45.                     throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex);  
  46.                 }  
  47.             }  
  48.         }  
  49.     }  
  50. }  

3.Web.Config中的数据库的配置

[html]  view plain copy print ?
  1. <connectionStrings>  
  2.     <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-FindU1-20130720205848;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-FindU1-20130720205848.mdf"  
  3.       providerName="System.Data.SqlClient" />  
  4.     <add name="UserContext" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=UserContext-20130721150726; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|UserContext-20130721150726.mdf"  
  5.       providerName="System.Data.SqlClient" />  
  6.   </connectionStrings>  

4.出现 未启用角色管理器功能。错误



此时需要修改配置文件,加上

[html]  view plain copy print ?
  1. <compilation debug="true" targetFramework="4.5">  
  2.       <assemblies>  
  3.         <add assembly="WebMatrix.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>  
  4.         <add assembly="WebMatrix.WebData, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>  
  5.       </assemblies>  
  6. </compilation>  

这篇关于asp.net mvc4 中自动生成的权限管理表的说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/316524

相关文章

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更