如何将图像添加到GWT按钮或如何使用Mosaic的按钮添加图像.我无法弄清楚如何在我的代码中使用这个例子.我需要添加哪些库.我的项目中有Mosaic Library,我可以使用它,但是他们在那里的例子对我不起作用.
谢谢
我试图围绕OAuth2和Spring Security OAuth,特别是OAuth提供商服务.我正在尝试实现以下内容:
所有这些模块彼此独立,即在不同的项目中分开,并将托管在不同的域上,例如(1)http://oauth.web.com,(2)http://rest.web.com, (3)http://web.com
我的两个问题是:
A.如何实施Web客户端项目,以便在用户登录受保护页面或单击"登录"按钮时,重定向到OAuth提供者URL,登录,并在具有所有用户角色的Web客户端上进行身份验证,以及同时需要知道使用了哪个客户端.@EnableResourceServer(与实现资源服务器的方式相同;请参阅下面的代码)以获取用户的详细信息?我是否必须管理访问令牌并始终将其包含在对资源服务器的调用中,或者它可以以某种方式自动完成?
B.在我将要开发的移动应用程序上实现安全性的最佳方法是什么.我是否应该使用密码宏来进行此身份验证,因为应用程序将由我构建,我将在本机屏幕中将用户名和密码作为基本身份验证通过SSL发送到服务器?是否有任何示例我可以查看与Spring Security OAuth的对话并返回用户详细信息.
这是我对OAuth项目(1)和资源项目(2)的实现:
OAuth2服务器配置(大部分代码来自HERE)
@Configuration
@EnableAuthorizationServer
public class OAuth2ServerConfig extends AuthorizationServerConfigurerAdapter {
@Autowired
@Qualifier("authenticationManagerBean")
private AuthenticationManager authenticationManager;
@Autowired
DataSource dataSource;
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints
.tokenStore(tokenStore())
.approvalStore(approvalStore())
.authorizationCodeServices(authorizationCodeServices())
;
}
@Bean
public JdbcClientDetailsService clientDetailsService() {
return new JdbcClientDetailsService(dataSource);
}
@Bean
public TokenStore tokenStore() {
return new JdbcTokenStore(dataSource);
}
@Bean …Run Code Online (Sandbox Code Playgroud) 我有以下域模型:
Playlist- > List<PlaylistItem>- >Video
@Entity
class Playlist{
// id, name, etc
List<PlaylistItem> playlistItems;
// getters and setters
}
@Entity
class PlaylistItem{
// id, name, etc.
Video video;
// getters and setters
}
@Entity
class Video{
// id, name, etc.
boolean isDeleted;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
我的存储库:
public interface PlaylistRepository extends JpaRepository<Playlist, Long> {
List<Playlist> findAll();
}
Run Code Online (Sandbox Code Playgroud)
现在,如何返回仅包含现有视频的播放列表,即如果分配给该播放列表项目的数据库中有三个视频,并且其中一个视频的isDeleted设置为true,那么我只需要获取两个项目.
我刚刚在我的Google AppEngine/Java + GWT应用程序中启用了Session.我该如何使用它?如何从中获取会话ID和播放所有好处?是否有任何简单登录页面的真实示例,我只是输入LoginName和Password,然后通过RPC调用进入服务器,对数据库进行身份验证并将会话ID发送回客户端.
我已经有以下代码,但不知道下一步该做什么:
GWT登录表格:
public class LoginForm {
private final LoginServiceAsync loginService = GWT.create(LoginService.class);
VerticalPanel loginVp = new VerticalPanel();
TextBox loginTxt = new TextBox();
TextBox passTxt = new TextBox();
Button loginBtn = new Button("Login");
public Widget getLoginWidget(){
loginBtn.addClickHandler(new ClickHandler(){
public void onClick(ClickEvent arg0) {
loginService.authenticateUser(loginTxt.getText(), passTxt.getText(),
new AsyncCallback<String>(){
public void onFailure(Throwable caught) {
InfoPanel.show(InfoPanelType.HUMANIZED_MESSAGE, "No Connetion", "Problem conneting to the server.");
}
public void onSuccess(String result) {
InfoPanel.show(InfoPanelType.HUMANIZED_MESSAGE, "Session ID", "Your session id is: " + …Run Code Online (Sandbox Code Playgroud) 我用GWT编写了应用程序.它适用于客户端.但是,当我在我的应用程序中更改某些内容,重新编译然后部署到服务器和客户端访问我的应用程序时,他的浏览器没有获取应用程序的新版本,而是使用以前的缓存版本.这会触发RPC错误和其他问题.
如何在访问我的页面时强制客户端浏览器获取应用程序的新版本,如果它与服务器上的版本匹配,则使用缓存版本.
用户登录Spring Security后,我正在尝试实现一个需要操作的屏幕?我有一个要求,用户必须执行以完成表单(更改密码,接受使用条款等),然后一旦用户完成该操作,他就可以使用应用程序的其余部分.我正在使用Spring OAuth2和使用Spring Security流程的登录屏幕.
到目前为止,我已经尝试使用http.formLogin().successHandler()自定义实现SavedRequestAwareAuthenticationSuccessHandler,它会检测用户是否需要执行操作,然后在用户填写表单时将用户重定向到页面,但问题是如果用户导航离开该页面,他将登录到应用程序并可以在不跳过表单的情况下使用它.但我要做的是阻止用户建立会话,直到完成Action Action表单之后.一旦完成,用户应自动登录(例如,如果用户需要同意使用条款,则应该在不输入密码的情况下登录)
这是我到目前为止自定义处理程序的代码:
public class CustomLoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler {
@Autowired
UserService userService;
public final static String TARGET_URL_SESSION_ATTR_NAME = "target-url";
public CustomLoginSuccessHandler(String defaultTargetUrl) {
setDefaultTargetUrl(defaultTargetUrl);
}
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws ServletException, IOException {
HttpSession session = request.getSession();
AuthorityUser authorityUser = (AuthorityUser)authentication.getPrincipal();
String userId = authorityUser.getUserId();
User u = userService.getById(userId);
Boolean changeRequiredDob = u.getChangeRequiredDob();
Boolean changeRequiredPwd = u.getChangeRequiredPwd();
Boolean changeRequiredTou = u.getChangeRequiredTou();
if(changeRequiredDob || changeRequiredPwd || changeRequiredTou){
String …Run Code Online (Sandbox Code Playgroud) java session spring-security spring-boot spring-security-oauth2
我正在开发Samsung Gear Live(谷歌I/O版)上的Android Wear应用程序,它需要访问心率和步数计算历史数据.我知道以后可以使用Google Fit SDK访问这些数据,但是现在可以不使用该SDK就可以读取该数据吗?
我更愿意在没有ROOTing my G Watch的情况下访问这些数据.
以下是我想要提取的历史数据的屏幕截图:
步骤历史数据:

心率历史数据:

更新10/28/2014
谷歌发布Google Fit SDK可在官方网站上获得
我有一个 pdf 模板,它存储在物理路径或应用程序类路径中。我必须阅读此模板并根据每个请求的用户输入填写每个请求的字段。我想将此文件转换为字节并在应用程序启动期间将其存储在配置 bean 中,而不是每次都读取模板文件。为此,我可以在 Spring 中使用 ByteArrayResource 或其他更好的方法。
我的目标不是每次都读取模板文件。
我有一个GWT页面,用户输入数据(开始日期,结束日期等),然后这些数据通过RPC调用进入服务器.在服务器上,我想生成带有POI的Excel报告,并允许用户将该文件保存在本地计算机上.
这是我将测试代码流回客户端的测试代码,但出于某种原因,我认为当我使用RPC时,它不知道如何将文件传输到客户端:
public class ReportsServiceImpl extends RemoteServiceServlet implements ReportsService {
public String myMethod(String s) {
File f = new File("/excelTestFile.xls");
String filename = f.getName();
int length = 0;
try {
HttpServletResponse resp = getThreadLocalResponse();
ServletOutputStream op = resp.getOutputStream();
ServletContext context = getServletConfig().getServletContext();
resp.setContentType("application/octet-stream");
resp.setContentLength((int) f.length());
resp.setHeader("Content-Disposition", "attachment; filename*=\"utf-8''" + filename + "");
byte[] bbuf = new byte[1024];
DataInputStream in = new DataInputStream(new FileInputStream(f));
while ((in != null) && ((length = in.read(bbuf)) != -1)) {
op.write(bbuf, 0, length);
}
in.close();
op.flush(); …Run Code Online (Sandbox Code Playgroud) java ×8
gwt ×4
session ×2
spring ×2
spring-boot ×2
android ×1
caching ×1
crop ×1
google-fit ×1
gwt-mosaic ×1
oauth ×1
rpc ×1
servlets ×1
spring-data ×1
wear-os ×1