您好我在尝试将我的页面重定向到登录页面时收到此错误。
public ActionResult Index() {
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value);
//0 Username | 1 Fullname | 2 User Id | 3 Login Type | 4 Election Id
string[] UserData = ticket.UserData.Split('|');
if (UserData[3] == null)
{
FormsAuthentication.SignOut();
return RedirectToAction("login", "login");
}
错误是:
' /'中的服务器错误应用
对象引用未设置为对象的实例。
描述:执行期间发生了未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息:System.NullReferenceException:不是对象引用 设置为对象的实例。
来源错误:
第22行:第23行:公共ActionResult索引(){第24行:第 FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies时[FormsAuthentication.FormsCookieName]。价值); 第25行:// 0用户名| 1全名| 2用户ID | 3登录 输入| 4 Election Id Line 26:string [] UserData = ticket.UserData.Split(' |&#39);
源文件: C:\选举\ Elections2014 \ \控制器FFS \ ffsInventoryController.cs
行:24
答案 0 :(得分:0)
您的变量ticket
似乎为空。这就是为什么在想要拆分UserData时得到NullPointerException的原因。如果encryptedTicket参数不是有效票证,则FormsAuthentication.Decrypt()
返回null。
查看:FormsAuthentication.Decrypt Method (String)
Request.Cookies[FormsAuthentication.FormsCookieName].Value
应返回有效的encryptedTicket-String。在你的情况下,似乎是没有返回有效的字符串。