如何在MVC C#中的多个控制器之间共享会话值?

冰蛙

大家好,我试图在不同的控制器之间使用Session共享对象值,我有点迷失了,因为我的网站中处理身份验证的方式未在任何文章中描述,也没有我可以参考的指南以跟进“如何”

无论如何,我有一个在其他具有“ BaseController.verifyAccess(string user,string password)”的控制器之间共享的BaseController,它的作用是,检查用户的数据库是否可以访问View

BaseController.cs

public class User
{
    public int ID { get; set; }
    public string username { get; set; }
    public string password { get; set; }
    public string email { get; set; }
}

AccountController.cs

[HttpPost]
public ActionResult Login(FormCollection form)
{
    User userTest = new User();
    userTest.username = form["username"];
    userTest.password = form["password"];
    Session["username"] = userTest.username;

    if (verifyAccess(userTest.username, userTest.password))
    {
        return RedirectToAction("../LoggedIn");
    }
    else
    {
        return RedirectToAction("../Login");
    }
}

如何Session["username"] = userTest.username;在其他Controller中工作?

例如

SomeController.cs

[HttpPost]
public ActionResult MyAwesomeView(FormCollection form)
{
    Project.Models.MyAwesomeModel thisModel = new Models.MyAwesomeModel();
    thisModel._info1 = form["txtInfo1"];
    thisModel._info2 = form["txtInfo2"];
    thisModel._info3 = form["txtInfo3"];
    thisModel._info4 = form["txtInfo4"];
    thisModel._user = System.Web.HttpContext.Current.Session["username"].ToString();
    return View(modelPagosRecibidos);
}

尽管调试thisModel._user为空,但我想我做错了很多,如果有人对我的代码感到感叹,我深表歉意。无论如何,希望对在控制器上获取Session值获得帮助和指导,在此先感谢大家!

法里德·乌丁·基隆

请尝试以下代码段。一旦分配了信息,Application Session就可以访问Client Controller该会话中的所有内容,如我所展示的示例。

 public class DeshboardController : Controller
    {
        // GET: Admin
        public ActionResult Index()
        {
            string roleid = (string)Session["user_role_id"];
            string userid = (string)Session["user_au_id"];
            string companyId = (string)Session["company_id"];
            string accessToken = (string)Session["AccessToken"];
            string ConName = "Deshboard";
            string ActionName = "index";

            if (string.IsNullOrEmpty(roleid) || string.IsNullOrEmpty(userid) || string.IsNullOrEmpty(companyId))
            {
                Response.Redirect("/Login/Index");
            }
            bool permission = CoreRules.UserPermission(roleid, userid, ConName, ActionName, accessToken);
            if (!permission)
            {
                try
                {
                    Response.Redirect("/Error/Index");
                }
                catch (Exception ex)
                {
                    Response.Redirect("/Login/Index");
                }
            }


            return View();
        }
    }

此外,您可以按Web.config以下方式文件中设置令牌的有效性

 <appSettings>
    <add key="TokenExpiry" value="45" />
 </appSettings>

我将令牌时间设置为45分钟。您可以根据需要进行自定义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在使用ASP .NET MVC的方法之间正确共享控制器中的对象?

来自分类Dev

如何在Spring MVC中映射多个控制器

来自分类Dev

如何在Spring MVC中映射多个控制器

来自分类Dev

如何在 javascript 中构建数组并在 c# mvc 控制器中接收它

来自分类Dev

如何在MVC C#控制器的JSON服务侧面分页中包括总计数

来自分类Dev

如何在控制器(MVC)c#中调用远程对象

来自分类Dev

如何在 C# 中从 MVC 控制器返回 Json 数据

来自分类Dev

如何在多个不同的控制器之间共享$ scope功能?

来自分类Dev

如何在多个控制器之间共享对象(例如Zend_Auth实例)

来自分类Dev

如何在C#中的一个类的多个实例之间共享值?

来自分类Dev

如何在MVC控制器中发布模态值

来自分类Dev

如何在视图控制器之间共享模型对象?

来自分类Dev

如何在控制器之间共享功能?

来自分类Dev

如何在不同的iOS视图之间共享控制器

来自分类Dev

Angular-如何在模块之间共享控制器?

来自分类Dev

如何在AngularJS控制器之间正确共享数据?

来自分类Dev

如何在控制器之间共享数据?

来自分类Dev

如何在angularjs中的两个控制器之间共享数据

来自分类Dev

如何在Rails 4的控制器中的方法之间共享变量?

来自分类Dev

如何在AngularJS中的各个控制器之间共享数据?

来自分类Dev

如何在服务/控制器之间共享 Symfony 中的 Redis 连接/RedisCache?

来自分类Dev

如何在Spring MVC中的两个控制器之间传递对象?

来自分类Dev

如何在Spring MVC中实现控制器和服务层之间的正确交互

来自分类Dev

如何在MVC中测试控制器类?

来自分类Dev

如何在jsp中调用Spring MVC控制器

来自分类Dev

如何在Spring MVC中创建主控制器

来自分类Dev

如何在MVC控制器中写入数据?

来自分类Dev

如何在MVC控制器中覆盖动作?

来自分类Dev

如何在MVC中测试控制器类?

Related 相关文章

  1. 1

    如何在使用ASP .NET MVC的方法之间正确共享控制器中的对象?

  2. 2

    如何在Spring MVC中映射多个控制器

  3. 3

    如何在Spring MVC中映射多个控制器

  4. 4

    如何在 javascript 中构建数组并在 c# mvc 控制器中接收它

  5. 5

    如何在MVC C#控制器的JSON服务侧面分页中包括总计数

  6. 6

    如何在控制器(MVC)c#中调用远程对象

  7. 7

    如何在 C# 中从 MVC 控制器返回 Json 数据

  8. 8

    如何在多个不同的控制器之间共享$ scope功能?

  9. 9

    如何在多个控制器之间共享对象(例如Zend_Auth实例)

  10. 10

    如何在C#中的一个类的多个实例之间共享值?

  11. 11

    如何在MVC控制器中发布模态值

  12. 12

    如何在视图控制器之间共享模型对象?

  13. 13

    如何在控制器之间共享功能?

  14. 14

    如何在不同的iOS视图之间共享控制器

  15. 15

    Angular-如何在模块之间共享控制器?

  16. 16

    如何在AngularJS控制器之间正确共享数据?

  17. 17

    如何在控制器之间共享数据?

  18. 18

    如何在angularjs中的两个控制器之间共享数据

  19. 19

    如何在Rails 4的控制器中的方法之间共享变量?

  20. 20

    如何在AngularJS中的各个控制器之间共享数据?

  21. 21

    如何在服务/控制器之间共享 Symfony 中的 Redis 连接/RedisCache?

  22. 22

    如何在Spring MVC中的两个控制器之间传递对象?

  23. 23

    如何在Spring MVC中实现控制器和服务层之间的正确交互

  24. 24

    如何在MVC中测试控制器类?

  25. 25

    如何在jsp中调用Spring MVC控制器

  26. 26

    如何在Spring MVC中创建主控制器

  27. 27

    如何在MVC控制器中写入数据?

  28. 28

    如何在MVC控制器中覆盖动作?

  29. 29

    如何在MVC中测试控制器类?

热门标签

归档