关于MemerberShip角色的使用

关于MemerberShip角色的使用

1.     常用函数:

1)        Membership.CreateUser(用户名,密码)

2)        判断用户是否被锁定:User.IsLockedOut()

3)        判断用户是否为某种角色:Roles.IsUserInRole(用户名,角色名)

4)        将某一用户添加到某一角色中:Roles.AddToRole(用户,角色)

5)        将用户从某一角色中移除:Roles.RemoveUserFromRole(用户名,角色)

还有其他很多,这里就不一一列举了,大家可以去MSDN上查。

后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;

namespace MvcApplication1.Controllers
{
    public class AdminController : Controller
    {
        //
        // GET: /Admin/

        public ActionResult Index()
        {
            var p = Membership.GetAllUsers();
            return View(p);
        }
        [HttpGet]
        public ActionResult Create()
        {
            var p =Roles.GetAllRoles();
            ViewBag.Roles = new SelectList(p);
            return View();
        }
        [HttpPost]
        public ActionResult Create(FormCollection collection)
        {
            string username = Request.Form["UserName"];
            string password = Request.Form["PassWord"];
            string roles = Request.Form["Roles"];
            Membership.CreateUser(username,password);
            Roles.AddUserToRole(username,roles);
            var p = Membership.GetAllUsers();
            return View("Index",p);
        }
        [HttpGet]
        public ActionResult Edit(string id)//修改密码
        {
            TempData["username"] =id;
            return View();
        }
        [HttpPost]
        public ActionResult Edit(string id,FormCollection collection)
        {
            string oldpassword;
            string newpassword=Request.Form["NewPassWord"];
            string username = TempData["username"].ToString();
            var p = Membership.FindUsersByName(username);
            foreach (MembershipUser item in p)
            {
                item.UnlockUser();
                oldpassword=item.ResetPassword();
                item.ChangePassword(oldpassword,newpassword);
            }
            var q= Membership.GetAllUsers();
            return View("Index", q);
        }
        public ActionResult Delete( string id)
        {
            var p = Membership.FindUsersByName(id);
            foreach (MembershipUser item in p)
            {
                string r;
                if (Roles.IsUserInRole(id, "Admin"))
                {
                    r = "Admin";
                }
                else
                {
                    r = "Guest";
                }
               Roles.RemoveUserFromRole(id,r);
               Membership.DeleteUser(id);
            }
            var q = Membership.GetAllUsers();
            return View("Index", q);
        }
    }
}


 

后台页面:

Index:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MembershipUserCollection>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Index
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Index</h2>

<p>
    <%: Html.ActionLink("CreateNew", "Create","Admin") %>
</p>
<table>
    <tr>
        <th></th>
        <th></th>
    </tr>

<% foreach (var item in Model) { %>
    <tr>
        <td>
            <%: Html.ActionLink("修改密码", "Edit", new {  id=((MembershipUser)item).UserName })%> |
            <%: Html.ActionLink("删除", "Delete", new {  id=((MembershipUser)item).UserName })%> |
        </td>
        <td>
            <%:((MembershipUser)item).UserName %>
        </td>
    </tr>
<% } %>

</table>

</asp:Content>

Edit:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    密码修改
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <%using(Html.BeginForm()) %>
    <%{ %>
    新密码:<input type="text" name="NewPassWord" />
    <input type="submit" value="提交" />
    <%} %>
</asp:Content>


Create:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    添加用户
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <%using(Html.BeginForm()) %>
    <%{ %>
            用户名:<input type="text" name="UserName" /><br />
            密  码:<input type="text" name="PassWord" /><br />
            <%:Html.DropDownList("Roles",ViewBag.Roles as SelectList) %><br />
            <input type="submit" value="提交" />
    <%} %>
</asp:Content>



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值