استفاده از MembershipProvider و RoleProvider در windows Application
نویسنده: ایمان محمدی
تاریخ: ۱۳۹۱/۱۲/۱۷ ۱۸:۱۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
System.Web.dll System.Web.ApplicationServices.dll
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\WebMatrix.Data.dll C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\WebMatrix.WebData.dll
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=.;Initial Catalog=SimpleMembershipProviderDB;Integrated Security=True;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear/>
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear/>
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
</providers>
</membership>
</system.web>
</configuration>using System;
using System.Security.Principal;
using System.Web.Security;
using WebMatrix.WebData;
namespace MemberShipConsoleApplication
{
class Program
{
static void Main(string[] args)
{
WebSecurity.InitializeDatabaseConnection("DefaultConnection",
"UserProfile", "UserId", "UserName",
autoCreateTables: true);
AddUserAndRolSample();
Login();
if (System.Threading.Thread.CurrentPrincipal.Identity.IsAuthenticated)
RunApp();
}
static void AddUserAndRolSample()
{
if (WebSecurity.UserExists("iman"))
return;
// No implements in SimpleMembershipProvider :
// Membership.CreateUser("iman", "123");
WebSecurity.CreateUserAndAccount("iman", "123");
Roles.CreateRole("admin");
Roles.CreateRole("User");
Roles.AddUserToRole("iman", "admin");
}
static void Login()
{
for (int i = 0; i < 3; i++)
{
Console.Write("UserName: ");
var userName = Console.ReadLine();
Console.Write("Password: ");
var password = Console.ReadLine();
if (Membership.ValidateUser(userName, password))
{
var user = Membership.GetUser(userName);
var identity = new GenericIdentity(user.UserName);
var principal = new RolePrincipal(identity);
System.Threading.Thread.CurrentPrincipal = principal;
Console.Clear();
return;
}
Console.WriteLine("User Name Or Password Not Valid.");
}
}
static void RunApp()
{
Console.WriteLine("Welcome To MemberShip. User Name: {0}",
System.Threading.Thread.CurrentPrincipal.Identity.Name);
if (System.Threading.Thread.CurrentPrincipal.IsInRole("admin"))
Console.WriteLine("Hello Admin User!");
Console.Read();
}
}
}InitializeDatabaseConnection(string connectionStringName,
string userTableName,
string userIdColumn,
string userNameColumn,
bool autoCreateTables)