首页 新闻 会员 周边

owin宿主+webapi

0
悬赏园豆:10 [已解决问题] 解决于 2015-08-08 23:28

1、owin+webapi新建了一个控制台程序用来单独运行webapi程序,这样就分离了运行在iis上的mvc程序,这样是否可行?

2、owin+webapi+oauth认证问题,我们使用oauth提供给app使用,app在没有登录的状态也是需要能访问不需要登录的接口,如果app初始化的时候就使用客户端授权方式,等到用户登录的时候又进行用户密码方式授权,这样不是会有两种授权吗?

.Valen的主页 .Valen | 初学一级 | 园豆:171
提问于:2015-08-07 14:13
< >
分享
最佳答案
0

1、要是我宁愿用2个IIS站点,一个跑MVC,一个跑Web API。生产环境用控制台程序不靠谱。

2、Web API只认aceess token,管你多少种授权。访问不需要登录的接口,以grant_type= client_credentials方式拿access token。访问需要登录的接口,以grant_type=password方式拿access token(之前的access token扔掉),这个access token也可以用于访问不需要登录的接口。所认客户端只需要保存1种access token即可。

收获园豆:10
dudu | 高人七级 |园豆:31007 | 2015-08-07 14:20

1、webapi也放在IIS上,那Owin的作用是什么?为何还要Owin?

2、怎么定义哪个action需要用户登录?

.Valen | 园豆:171 (初学一级) | 2015-08-07 14:45

@.Valen: IIS是一个Web服务器,OWIN的作用是解耦了.NET Web应用程序与Web服务器。

dudu | 园豆:31007 (高人七级) | 2015-08-07 14:51

@dudu: 谢谢dudu回复。

既然owin是解耦了web服务器,那为什么还要依附于IIS上?为何不独立运行。独立运行的好处是IIS挂了,这个webapi控制台进程还在的话还是可以访问的。要是owin的程序挂在IIS上,要是web服务器应用池挂了或者IIS服务器挂了就访问不了吧

.Valen | 园豆:171 (初学一级) | 2015-08-07 15:27

@.Valen: 如果你不想用IIS,那就选择另一个Web服务器。你用的控制台程序也是依附于IIS内核http.sys。

dudu | 园豆:31007 (高人七级) | 2015-08-07 15:29

@dudu: 微软asp.net网站上的很多参考例子好像都是用控制台程序运行的吧

.Valen | 园豆:171 (初学一级) | 2015-08-07 15:29

@dudu: 谢谢,现在前期想多了解一些这方面的知识来决定怎么用

.Valen | 园豆:171 (初学一级) | 2015-08-07 15:33

@dudu: 大神,问您个问题,如果webapi的宿主程序不用管理员权限启动,有什么解决方案嘛??谢谢

侯小北 | 园豆:39 (初学一级) | 2018-12-24 19:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册