自定義用戶

2019-04-04 17:40 更新
自定義用戶
框架自帶了用戶管理,但是很多人使用框架遇到的第一個問題就是自己的用戶結(jié)構(gòu)要多一些字段 下面演示了如何通過繼承框架用戶的方式編寫自己的用戶管理
  • 首先我們在Model中建立一個類,繼承FrameworkUserBase,比如叫做MyUser 
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using WalkingTec.Mvvm.Core;
namespace YourNameSpace.Models
{
    [Table("FrameworkUsers")]
    public class MyUser : FrameworkUserBase
    {
        [Display(Name = "附加信息1")]
        public string Extra1 { get; set; }
        [Display(Name = "附加信息2")]
        public string Extra2 { get; set; }
    }
}
  • 上面的代碼告訴框架同樣使用FrameworkUsers表,只是增加兩個字段 在DataAccess項目中,修改DataContext文件,加入MyUser,因為MyUser繼承了FrameworkUserBase,所以其實并不會增加新表,但是會在FrameworkUser表中增加一個叫做Discriminator的列,這是EF的規(guī)則 
public class DataContext : FrameworkContext
{
    public DbSet<MyUser> MyUsers { get; set; }
    public DataContext(string cs, DBTypeEnum dbtype)
    : base(cs, dbtype)
    {
    }
}
  • 按F5運行,現(xiàn)在我們有一個MyUser的Model,并且讓數(shù)據(jù)庫也生成了相應(yīng)的表 因為增加了Discriminator字段,你需要更新數(shù)據(jù)庫,或者使用一個新庫名讓EF自動生成
  • 然后就像我們生成其他模塊一樣,使用代碼生成器來生成MyUser
  • 在代碼生成器中,選擇MyUser,業(yè)務(wù)模塊名稱比如叫做自定義用戶管理
  • 代碼生成完畢后,關(guān)閉瀏覽器,重新啟動調(diào)試,我們可以看到左側(cè)菜單已經(jīng)有了自定義用戶管理,和框架自帶的沒有什么區(qū)別,但是已經(jīng)有了你需要的字段 唯一需要修改一下的就是框架的登陸是MD5驗證的,所以當你添加MyUser之前,記得加上一句Entity.Password = Utils.GetMD5String(Entity.Password);把密碼MD5加密一下
  • 去菜單管理,點擊同步模塊,這樣會把你新加的自定義用戶管理加到系統(tǒng)模塊中 然后,把原有的用戶管理修改為不在菜單顯示,并把這個新的自定義用戶管理添加到菜單中 在非調(diào)試模式下(Appsettings文件中IsQuickDebug=false),左側(cè)菜單變成你新的用戶管理了


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號