请大神,关于WEBAPI用户认证,在API里获取当前用户的问题

问题描述

首先我自定义了一个用户身份验证,在这里我通过Authorization的认证判断用户是否存在publicclassBasicAuthorizeAttribute:System.Web.Http.AuthorizeAttribute{publicoverridevoidOnAuthorization(System.Web.Http.Controllers.HttpActionContextactionContext){//读取HEADER信息验证if(actionContext.Request.Headers.Authorization!=null){stringTicketInfo=actionContext.Request.Headers.Authorization.ToString();//header里的Authorization:ticketif(ValidateUserTicket(TicketInfo)){IsAuthorized(actionContext);//Users="12";}else{HandleUnauthorizedRequest(actionContext);}}else{HandleUnauthorizedRequest(actionContext);}}protectedoverridevoidHandleUnauthorizedRequest(System.Web.Http.Controllers.HttpActionContextactionContext){//varchallengeMessage=newSystem.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);//challengeMessage.Headers.Add("WWW-Authenticate","Basic");//thrownewSystem.Web.Http.HttpResponseException(challengeMessage);base.HandleUnauthorizedRequest(actionContext);if(actionContext.Response.StatusCode==System.Net.HttpStatusCode.Unauthorized){//401错误//actionContext.Response.Result=newRedirectResult("/");}}

在写API接口的时候,因为已经加了BasicAuthorize认证了,那么在GET方法的时候怎么获取当前已经验证的用户信息呢?[Auth.BasicAuthorize]publicclassValuesController:ApiController{//GETapi/valpublicIEnumerable<string>Get(){returnnewstring[]{"value1","value2"};//在这里如何将在BasicAuthorize用户认证的信息传递过来}

解决方案

解决方案二:
在线等大神!
解决方案三:
自己再顶一下
解决方案四:
拜托各位大神指点一下,小弟只有这么点分了,谢谢!

时间: 2024-10-02 21:17:10

请大神,关于WEBAPI用户认证,在API里获取当前用户的问题的相关文章

程序错误-为什么无法添加用户 请大神门看看

问题描述 为什么无法添加用户 请大神门看看 package com.action;/** 管理员登陆 增加 修改 删除 删除登陆日志*/import java.io.IOException;import java.util.List;import java.util.StringTokenizer; import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.ht

一个很奇怪的命名空间问题,请大神解题!

问题描述 昨天晚上在编译初步开发好的程序时,发现一个复杂的机制造成的问题,最终问题确定的原因,就是和awaitasync的支持库有关,但其本质原因是什么?就是想不明白,想请高手们解解题.首先因为我的应用服务端使用了WebApi2.0,客户端使用WinForm进行http访问,为了达到较好的用户体验,客户端采用了awaitasync异步.同时为了支持Winxp,类库只能使用到Net4.0,而Net4.0不支持awaitasync异步.解决这个问题,通过的是微软开发的附加支持包,我使用Nuget安装

c++新手,请大神提供思路

问题描述 c++新手,请大神提供思路 如何获得用户的登录信息,从而获得用户的基本信息:比如如何从教务网登陆界面获得学生登录信息从而查看该生的基本信息? 解决方案 可以用抓包工具抓个包,得到提交的数据,然后可以用CInternetSession类相关的模拟提交即可. 解决方案二: 如果你连socket,wininet等什么都不会的话,建议使用Wireshark等抓包软件抓包并分析,它里面对报文封包分析的很详细的. 解决方案三: C++发送HTTP请求,可以用WInHttp类库等,获取对应的页面返回

c++-用C++做个B2c电子商务 ,没有思路,请大神指教!

问题描述 用C++做个B2c电子商务 ,没有思路,请大神指教! 用户注册,用户登录.(编号,账号,密码,姓名,资金,地址) 登录后菜单项:选购商品,查看订单,查看资金,充值,修改账户信息,注销,退出 商家登录,此处商家和系统平台是统一角色,平台自营类似苏宁易购. 登录后菜单项:查看.添加.修改.删除商品(编号,商品名称,商品信息,价格,库存量,规格,颜色,所属商家), 查看订单,查看金额,注销,退出,相应的子菜单里应有返回上一级菜单功能. 选购商品,用户登录后可以直接商品进行购买下单. 记录订单

新手 帮忙 网页-新手入门 请大神告知怎么在网页上设置 能进入后台数据库查询资料

问题描述 新手入门 请大神告知怎么在网页上设置 能进入后台数据库查询资料 以下是公司前辈让我参考已有文档自己做的程序 也不知道对不对 package com.zjxcsoft.ge.user.action; import java.sql.*; import com.opensymphony.xwork.ActionSupport; import java.sql.Connection; public class UserAction extends ActionSupport { public

myelipse连接不上mysql 本小弟是初学者,老是报错,请大神停下看看

问题描述 请大神教教小弟 解决方案 解决方案二:用其他客户端工具连接试一试,确保用户名密码正确,如果mysql不是安装在本机,确保开启了远程连接(默认是关闭的)解决方案三:我连接时的localhost,可是密码和myeclipse中hibernate填写的用户和密码都一样啊,就是不行解决方案四:myeclipse本身自带数据库测试的功能,先试试能否连上解决方案五:myeclipse连接mysql的配置,截个图,看看

struts2 0-spring+struts+hibernate整合问题,请大神帮忙!

问题描述 spring+struts+hibernate整合问题,请大神帮忙! 求大神解答,兄弟初学ssh,今天整合他们三个.报错很多,但是最后竟然可以正确运行(我只实现了一个从数据库读用户名密码来登陆的功能.) 报错如下:(其中第一个错误就是Could not open ServletContext resource [/WEB-INF/applicationContext.xml],我在这个目录下有这个文件的. 而且我的web.xml里有这些内容. contextConfigLocation

数据-我觉得我见鬼了,请大神帮我看看我到底是不是真的见鬼了,现在凌晨三点了

问题描述 我觉得我见鬼了,请大神帮我看看我到底是不是真的见鬼了,现在凌晨三点了 #include #include #include typedef struct Node ND; struct Node{ //结构体 int data; //数据预,存放结构体的数据,哲理简单化,假设只有一个data struct Node * pNext; //指针域,用来存放下一个节点的指针或者上一个节点的指针或者其他节点的指针,这里简化只存放下一个节点的指针 }; /*函数声明*/ //void trav

求解决-c语言问题求解,请大神们指教

问题描述 c语言问题求解,请大神们指教 本题要求实现一个对数组进行循环右移的简单函数:一个数组aa中存有nn(>0>0)个整数,将每个整数循环向右移mm(ge 0≥0)个位置,即将aa中的数据由(a_0 a_1 cdots a_{n-1}a ?0 ?? a ?1 ?? ?a ?n?1 ?? )变换为(a_{n-m} cdots a_{n-1} a_0 a_1 cdots a_{n-m-1}a ?n?m ?? ?a ?n?1 ?? a ?0 ?? a ?1 ?? ?a ?n?m?1 ?? )(最