如何在Angular 4中提供用户名和密码以使用具有oAuth安全性的rest控制器?

Posted

技术标签:

【中文标题】如何在Angular 4中提供用户名和密码以使用具有oAuth安全性的rest控制器?【英文标题】:How can provide username and password for consuming rest controller with oAuth security in Angular 4? 【发布时间】:2017-10-28 03:57:09 【问题描述】:

我创建了在 Spring Boot 中返回人员列表的休息控制器方法,并提供了 oAuth 服务来保护我的休息方法,这是 angular 2 中用于使用此休息服务的服务。

import  Observable  from 'rxjs';
import Http,Response from '@angular/http';
import 'rxjs/add/operator/map';



@Injectable()
export class XService 

constructor(private http:Http)  

getAll(): Observable<any>


return this.http.get('http://localhost:8087/rest2/persons').map((response:Response)=>response.json());



如何提供用户名和密码以通过 Web 服务进行身份验证。

@RequestMapping(path = "/rest2/", produces = "application/json")
@CrossOrigin
public class SubscriberController 
@RequestMapping(method = RequestMethod.GET,     path="/persons",produces="application/json")
public List<Person> getPersons()
    List<Person> p=new ArrayList<>();
    p.add(new Person(1,"dsd","dsdsd"));
    p.add(new Person(2,"dsd","dsdsd"));
    p.add(new Person(4,"dsd","dsdsd"));
    p.add(new Person(14,"dsd","dsdsd"));
    p.add(new Person(3,"dsd","dsdsd"));
    return p;




 

【问题讨论】:

【参考方案1】:

如果你的angular项目和spring-boot项目在同一个项目,可以直接问'http://localhost:8087/rest2/persons'

否则你应该为你的 api 设置代理。

在根目录下创建一个配置 json(xxx.config.json) 文件 "/your api": "target": "http://localhost:8087", "secure": "false"

并修改ng serve ng serve --proxy xxx.config.json

那么当您询问/your api 时,您将获得来自"http://localhost:8087" 的数据

希望能帮到你

【讨论】:

如果他们在不同的项目中,请你给我更多的细节 我的答案是 angular-cli(我没用过其他的)。你可以搜索'angular2 api proxy'。

以上是关于如何在Angular 4中提供用户名和密码以使用具有oAuth安全性的rest控制器?的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用具有不同字符串的一种布局吗?

是否可以使用具有两列的表视图创建 UI?

是否可以使用具有嵌套属性的液体“where”数组过滤器?

在 Angular2/4/5 中,如何基于基于令牌的身份验证安全地调用 WebAPI 操作

在C ++中限制登录尝试次数

如何在 Angular 应用程序中处理 API 凭据?