获取当前用户登录自定义身份验证MVC 4

时间:2016-07-24 12:46:25

标签: sql asp.net-mvc asp.net-mvc-4

我创建了一个没有简单成员的简单登录表,因为在我的项目中我不需要注册,需要在数据库中自动创建用户。 (遵循this tutorial)。 我有一个模型登录:

public class Login
    {
        public virtual int UserId { get; set; }

        public virtual string Username { get; set; }
        public virtual string Password { get; set; }

        public virtual List<Enrollment> Enrollments { get; set; }
    }

和注册:

public class Enrollment
    {
        public virtual int EnrollmentId { get; set; }
        public virtual string Name { get; set; }
        public virtual List<Login> Users { get; set; }

    }

由于多对多的关系,我有一个表Enrollment_Login。 我需要创建一个视图,其中我显示用户登录的注册列表是“已注册”。 我有这个问题:

var query= from name in db.Enrollments
           where name.Logins.Any(c=>c.LoginId==??)
           select name;

如果此查询正确,我该如何让当前用户登录?

1 个答案:

答案 0 :(得分:0)

您无法获取import numpy as np import pandas as pd def read_csv_file(pathToFile="options.csv"): return pd.read_csv(pathToFile, header=2, dtype={"Strike":np.float}, index_col="Strike", usecols=["Strike","Bid","Ask","Bid.1","Ask.1"], thousands=',').reset_index() def list_record_with_strike(strike, df): for i, (index, longCall) in enumerate(df.iterrows()): if strike == np.float(longCall['Strike']) : print("Ask Price of strike: ", longCall['Strike'], "is ",longCall['Ask']) return i def get_record_by_strike(strike, df ): print(df.loc[[strike]]) def main(): # data frame df = read_csv_file() i = list_record_with_strike(510, df) get_record_by_strike(i, df) if __name__ == '__main__': main() (我认为LoginId实体中Login实体的外键

当用户通过身份验证后,如果您的操作方法中有该用户的名称,则会将其存储在Enrollement中。

您的案例中的名称是this.User.Identity.Name实体中的UserName属性。

所以你必须编写以下代码:

Login

或在一个查询中:

var currentLogin = db.Logins.Single(u => u.UserName = this.User.Identity.Name);
var query= from name in db.Enrollments
       where name.Logins.Any(c=>c.LoginId==currentLogin.Id)
       select name;