是否有可能让document.title
(<head><title> .. </title></head>
)无法改变Javascript?
我的问题是,在我的项目中,有一些javascripts document.title
每1秒更改一次,我希望标题保持不变.不幸的是,我无法更改或删除这些JS文件.我试过想一下解决方法,类似的东西:
function checkTitle() {
if(document.title != oldTitle)
document.title = oldTitle;
}
setInterval(checkTitle(), 100);
Run Code Online (Sandbox Code Playgroud)
这似乎是一个好主意,但不幸的是,我也有计数器在我的网站上显示计时器.我的整个代码看起来像这样:
var ticks = 0;
function update() {
if(ticks % 1000 == 0) {
...update timer and some other stuff...
}
ticks+=100;
if(document.title != oldTitle)
document.title = oldTitle;
}
setInterval(update, 100);
Run Code Online (Sandbox Code Playgroud)
+ - 100秒后这样的代码开始减速,我的计时器肯定不会每1秒更新一次.
所以问题是:是否有可能使jtml元素(..)无法更改为javascript,如果没有,是否有任何解决方法我的问题?
提前致谢.
使用Spring Data nad Querydsl,我们可以声明存储库接口并跳过实现类.一些具有特定名称或使用@Query注释的方法,这就是全部.
但是有时候我想使用JPAQuery并自己定义方法的主体,比方说
@Repository
public class MyRepositoryImpl implements MyRepository {
@PersistenceContext
private EntityManager em;
@Override
public List<Tuple> someMethod(String arg) {
JPAQuery query = new JPAQuery(em);
...
}
Run Code Online (Sandbox Code Playgroud)
但这样我就必须实现其他MyRepository接口方法,这会破坏Spring Data的所有优点!
我可以看到两个选项:
我更喜欢选项#2,但据我所知,在@Service类中我们应该只调用存储库方法,所以它也不是一个完美的解决方案.
那么程序员如何处理呢?
我有简单的微服务架构:
当用户尝试登录时,凭据正在从边缘服务传递到身份验证服务。身份验证服务从用户服务(使用@FeignClient)获取用户数据,如果用户名/密码匹配,则生成令牌。没什么好看的。
这种方法有一个“小”问题:/api/user/{username}
用户服务中的端点,由身份验证服务用来获取用户的数据,可能被任何用户用来获取任何其他用户的数据(密码、角色等)。一种解决方案是以某种方式为具有角色的身份验证服务创建 JWT 令牌,AUTH_SERVICE
并在用户服务端检查 JWT,如果角色与AUTH_SERVICE
拒绝请求不同。
还有其他解决方案吗?
编辑
我认为我的设计很常见,但显然我应该首先更具体:
编辑2:
我最终将 auth-service 合并到了 user-service,这是几个 SO 用户的建议。在考虑之后,似乎没有必要为 JWT 生成单独的身份验证服务。我已经接受了@Abhijit Sarkar 的回答,因为它有一些有效的观点,尽管他对额外调用 auth-service 以验证令牌的有效性并不正确。
spring ×2
hibernate ×1
html ×1
java ×1
javascript ×1
jquery ×1
oauth-2.0 ×1
querydsl ×1
spring-cloud ×1
spring-data ×1