使用:https://github.com/apereo/dotnet-cas-client
我们可以在生成的日志中成功查看代理票证,但在访问“ProxyGrantingTicket”字段时,它始终为空。
ICasPrincipal p = HttpContext.Current.User;
p.ProxyGrantingTicket
我们可以在缓存中看到票证,但假设有一种方法可以访问它。
这有效,但想知道是否有内置功能。
// Retrieves the cookie that contains your custom FormsAuthenticationTicket.
var authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
// Decrypts the FormsAuthenticationTicket that is held in the cookie's .Value property.
var authTicket = FormsAuthentication.Decrypt(authCookie.Value);
var ticket = HttpContext.Current.Cache["CasTicket::" + authTicket.UserData] as CasAuthenticationTicket;
ticket.ProxyGrantingTicket
或者稍微简化的方式......
var formTicket = CasAuthentication.GetFormsAuthenticationTicket();
var ticket = CasAuthentication.ServiceTicketManager.GetTicket(formTicket.UserData);
CasAuthentication.ProxyTicketManager.GetProxyGrantingTicket(string proxyGrantingTicketIou)
不工作吗?