Forms Authentication web config authentication modeForms forms login

  • Slides: 22
Download presentation

Forms Authentication В web. config: <authentication mode="Forms"> <forms login. Url="~/Account/Login" timeout="2880" /> </authentication> 3

Forms Authentication В web. config: <authentication mode="Forms"> <forms login. Url="~/Account/Login" timeout="2880" /> </authentication> 3

Класс Membership Create. User(String, String) Create. User(String, String, Boolean, Membership. Create. Status) Create. User(String,

Класс Membership Create. User(String, String) Create. User(String, String, Boolean, Membership. Create. Status) Create. User(String, String, Boolean, Object, Membership. Create. Status) Delete. User(String, Boolean) Find. Users. By. Email(String, Int 32, Int 32) Find. Users. By. Name(String, Int 32, Int 32) Generate. Password Get. All. Users() Get. All. Users(Int 32, Int 32) Get. Number. Of. Users. Online Get. User() Get. User(Boolean) Get. User(Object) Get. User(String) Get. User(Object, Boolean) Get. User(String, Boolean) Get. User. Name. By. Email Update. User Validate. User Класс Membership находится в пространстве System. Web. Security 10

Класс Roles Метод Add. Users. To. Roles Add. User. To. Roles Create. Role Delete.

Класс Roles Метод Add. Users. To. Roles Add. User. To. Roles Create. Role Delete. Cookie Delete. Role(String) Delete. Role(String, Boolean) Find. Users. In. Role Get. All. Roles Get. Roles. For. User() Get. Roles. For. User(String) Get. Users. In. Role Is. User. In. Role(String) Is. User. In. Role(String, String) Remove. User. From. Roles Remove. Users. From. Roles Role. Exists 11

Регистрация провайдеров в приложении Провайдеры регистрируются в узлах <membership> и <role. Manager> файла web.

Регистрация провайдеров в приложении Провайдеры регистрируются в узлах <membership> и <role. Manager> файла web. config. <connection. Strings> <add name="Art. Museum. Db" connection. String="Data Source=. SQLEXPRESS; Attach. Db. Filename=|Data. Directory|Art. Museum. mdf; Integrated Security=True; User Instance=True " provider. Name="System. Data. Sql. Client" /> </connection. Strings> <system. web> <authentication mode="Forms"> <forms login. Url="~/Account/Login" timeout="2880" /> </authentication> √ √ <membership default. Provider="Default. Membership. Provider"> <providers> <add connection. String. Name="Art. Museum. Db" enable. Password. Retrieval="false" enable. Password. Reset="true" requires. Question. And. Answer="false" requires. Unique. Email="false" max. Invalid. Password. Attempts="5" min. Required. Password. Length="6" min. Required. Nonalphanumeric. Characters="0" password. Attempt. Window="10" application. Name="/" name="Default. Membership. Provider" type="System. Web. Providers. Default. Membership. Provider, System. Web. Providers, Version=1. 0. 0. 0, Culture=neutral, Public. Key. Token=31 bf 3856 ad 364 e 35" /> </providers> </membership> <role. Manager enabled="true" default. Provider="Default. Role. Provider"> <providers> <add connection. String. Name="Default. Connection" application. Name="/" name="Default. Role. Provider" type="System. Web. Providers. Default. Role. Provider, System. Web. Providers, Version=1. 0. 0. 0, Culture=neutral, Public. Key. Token=31 bf 3856 ad 364 e 35" /> </providers> </role. Manager> … </system. web> 12

Классы из Web. Matrix. Web. Data namespace System. Web. Sequrity Membership. Provider Simple. Membership.

Классы из Web. Matrix. Web. Data namespace System. Web. Sequrity Membership. Provider Simple. Membership. Pro vider Role. Provider Simple. Role. Provider static class Web. Security Фасадным классом для Simple. Membership. Provider и Simple. Role. Provider является статический класс Web. Security. 14

Регистрация провайдеров Если приложение MVC 4 создано по шаблону Internet, провайдеры из Web. Matrix

Регистрация провайдеров Если приложение MVC 4 создано по шаблону Internet, провайдеры из Web. Matrix зарегистрированы неявно. Их явная регистрация необходима для MVC 3. <system. web> <membership default. Provider="Simple. Membership. Provider"> <providers> <clear/> <add name="Simple. Membership. Provider" type="Web. Matrix. Web. Data. Simple. Membership. Provider, Web. Matrix. Web. Data"/> </providers> </membership> <role. Manager enabled="true" default. Provider="Simple. Role. Provider"> <providers> <clear/> <add name="Simple. Role. Provider" type="Web. Matrix. Web. Data. Simple. Role. Provider, Web. Matrix. Web. Data"/> </providers> </role. Manager> </system. web> 16

Поддержка Forms Authentication в шаблоне приложения Модель – файл Account. Models. cs Контроллер –

Поддержка Forms Authentication в шаблоне приложения Модель – файл Account. Models. cs Контроллер – файл Account. Controller. cs Представление - папка Account Фильтр контроллера – файл Filters/Initialize. Simple. Membership. Attribute. cs 17

Как использовать существующую базу Пусть имеется готовая база данных в виде. mdf файла в

Как использовать существующую базу Пусть имеется готовая база данных в виде. mdf файла в папке App_Data. В web. config есть строка соединения с этой базой. Строка называется "My. Con. Str". 1. В /Initialize. Simple. Membership. Attribute. cs приводим в соответствие с нашей базой вызов метода Web. Security. Initialize. Database. Connection("Default. Connection", "User. Profile", "User. Id", "User. Name", auto. Create. Tables: true); 2. Изменяем имя строки соединения с "Default. Connection" на "My. Con. Str" a) в файле ~Models/Account. Model. cs b) в файле ~/Filters/Initialize. Simple. Membership. Attribute. cs Если нужны предустановленные пользователи и роли, создаем их после вызова Initialize. Database. Conn ection кодом вроде этого: string ROLE = "teacher", USER = "teacher 1", PASS = "@teacher 1"; if (!System. Web. Security. Roles. Role. Exists(ROLE)) { System. Web. Security. Roles. Create. Role(ROLE); } if (!Web. Matrix. Web. Data. Web. Security. User. Exists(USER)) { Web. Matrix. Web. Data. Web. Security. Create. User. And. Account(USER, PASS); System. Web. Security. Roles. Add. User. To. Role(USER, ROLE); } 18