小编hgu*_*ser的帖子

apache/nginx/IIS有什么区别

我是一名java Web应用程序开发人员,现在我在.net框架上工作.

当我在java web中工作时,我们使用tomcat/jboss来部署我们的应用程序.我以为tomcat/jboss是web服务器.

当我在asp.net中工作时,我使用IIS来部署应用程序,然后我认为IIS是另一种Web服务器.

这些天,我正在学习rails,然后我听到了nginx.从谷歌,它也是一种网络服务器.

但是我发现有些人说我们可以一起使用nginx和IIS,或者其他组合.

现在,我很困惑,在我看来,Web服务器应该处理来自客户端的请求并返回结果.

每个Web服务器都应该有自己的适应性,例如,tomcat for java,iis for asp.net.

但为什么apache/nginx?


顺便说一句,我不是说apache/nginx没用,我只是不熟悉这个.

我想知道是否有人能为我解释一下?

apache iis webserver nginx

7
推荐指数
1
解决办法
5294
查看次数

如何防止在javascript中双击选择文本

假设我在页面中有一个ul(li)列表:

<ul>
 <li>xxx<li>
 <li>xxx<li>
</ul>
Run Code Online (Sandbox Code Playgroud)

该元素li是可点击和可双击的,它们与这些事件相关联,并且我都return false在这两个事件中.

$('ul li').on('click',function(){
    //do what I want
    return false;
}).on('dblclick',function(){
    //do what I want
    return false;
});
Run Code Online (Sandbox Code Playgroud)

但是当用户双击该元素时,li将选择该文本内的文本.如何防止这种情况?

更新:

现在解决了,我使用以下代码与NiftyDude的css选择器:

$('ul li').on('click',function(){
    //do what I want
    return false;
}).....on('dragstart',function(){return false;}).on('selectstart',function(){return false;});
Run Code Online (Sandbox Code Playgroud)

javascript click textselection dom-events

7
推荐指数
1
解决办法
6960
查看次数

基于资源的访问控制与基于角色的访问控制

我正在学习Apache Shiro,我找到了这篇文章:

新RBAC:基于资源的访问控制

作者说:

.......如果需要,您可以直接将行为(权限)分配给角色.从这个意义上讲,您仍然可以使用基于角色的访问控制安全策略 - 只是您将拥有显式RBAC策略而不是传统的隐式策略.

但这引出了一个问题 - 为什么要停止角色?您可以将行为直接分配给用户,组,或安全策略可能允许的任何其他内容.

似乎作者更喜欢直接存储用户和权限的关系而不是通过角色.

虽然看起来简单明了,但我有一些问题:

  1. 两个人之间是否有任何本质区别?

  2. 数据库架构.

在基于角色的访问控制中,通常我们使用三个表来描述关系:

user
role
user_role
Run Code Online (Sandbox Code Playgroud)

不,如果我使用基于资源的访问控制,构建表的常规做法是什么?

authentication access-control rbac

7
推荐指数
1
解决办法
6641
查看次数

在spring boot中为静态资源设置setCachePeriod

我正在使用spring boot,并且/static作为js和css等静态资源提供服务,到目前为止一直都很好,而我想设置这些文件的缓存头,所以我尝试了这个:

@Configuration
public class BaseMvcConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/").setCachePeriod(24 * 3600 * 365); 
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,之后,应用程序无法从该/static文件夹中提供任何内容.

有什么问题?

java spring spring-boot

7
推荐指数
2
解决办法
5561
查看次数

基于 OAuth2 的 SSO

我们的项目由几个子应用程序组成,我们正在寻找一种解决方案来实现 SSO 以避免对每个子应用程序进行身份验证。

假设这是我们项目的结构:

authentication server(call it AS or IdP or something else)
order-system
product-system
data-analysis-system
.......
Run Code Online (Sandbox Code Playgroud)

而且我们发现,有很多的文章“SSO实现了基于OAuth2用户”喜欢这样

在那篇文章中,我们更喜欢该SAML策略,因为它简单明了,但是对于原生应用程序有一些限制,然后我们重点介绍了 OAuth2。

这是工作流程:

在此处输入图片说明

1 OAuth2 中的规则

资源服务器 (SP) – 这是您尝试访问信息的网络服务器。

客户端——这是用户与资源服务器交互的方式。这可以是基于浏览器的 Web 应用程序、本机移动应用程序、桌面应用程序、服务器端应用程序。

授权服务器 (Idp) – 这是拥有用户身份和凭据的服务器。它是用户实际进行身份验证和授权的人。

OctoDroid为例,规则是非常明确的:

Client: OctoDroid
Idp: GitHub
SP: Github
User: one who use OctoDroid application.
Run Code Online (Sandbox Code Playgroud)

工作流程是OctoDroid( Client) 要求您( User) 登录并通过Github( Idp)授予权限以从Github( ) 获取资源(repos,issues SP)。

但是在我们的应用中,每个子系统究竟可以处理什么?一个SP或一个Client

如果将其视为SP,是网络浏览器Client吗?我一直认为 aClient应该是一个应用程序。另外子系统每次请求都会通过Idp验证access_token,然后返回相关资源,这样会不会增加Idp的压力? …

single-sign-on oauth-2.0 openid-connect

7
推荐指数
2
解决办法
4460
查看次数

使用hg在我的两台计算机之间同步我的项目

我有两台电脑:我公司的台式机和家里的便携式电脑.

现在我想使用hg使用"USB可移动磁盘"在它们之间同步项目.

所以我想知道如何实现它?

我桌面上的专业版是:D:\ work\mypro.

我使用以下命令来初始化它:

hg init
Run Code Online (Sandbox Code Playgroud)

然后我连接到卷标为"H"的USB磁盘,并使用以下命令获取克隆:

cd H:
hg init
hg clone D:\work\mypro mypro-usb
Run Code Online (Sandbox Code Playgroud)

在我使用的便携式计算机中:

cd D:
hg clone H:\mypro-usb mypro-home
Run Code Online (Sandbox Code Playgroud)

但是我不知道如果我在mypro-home中修改一些文件(删除或添加和修改)怎么办,如何使mypro-usb同步更改,我也想同步在桌面上的mypro.

怎么做?

---------------在我从richj得到答案后添加以下内容----------------

到richj:

感谢您的回复.

以下是我的做法:Pro-Com是我桌面上的项目(初始化为存储库),Pro-USB是我USB中的存储库,Pro-Home是我家用计算机中的存储库.

当我在Pro-Com中进行一些更改时,我使用以下命令:

hg add
hg push Pro-USB
Run Code Online (Sandbox Code Playgroud)

然后我将目录更改为Pro-USB,使用:

hg update
hg push Pro-Home
Run Code Online (Sandbox Code Playgroud)

在我的家用电脑中,我运行:

hg update
(make some edition)
hg commit
hg push Pro-USB
Run Code Online (Sandbox Code Playgroud)

然后USB中的存储库与我的家用电脑的存储库相同,我可以将其推送到我的桌面.

在我看来,存储库之间的操作可以通过"hg push"和"hg pull"完成,其他命令如"hg update""hg import"只能在工作副本和它的存储库之间工作.

我的理解是对的吗?

mercurial

6
推荐指数
1
解决办法
4606
查看次数

什么是hibernate缓存保存?

嗨:我对hibernate缓存缓存的内容感到困惑.

从文档中,我知道hibernate中存在缓存类型.

第一级:交易级别.似乎会话持久化的实体在此缓存.

二级缓存:我真的不知道这个缓存,从api,它说这个缓存工作在sessionfactory级别......我无法理解.

查询缓存:这对我来说很容易理解(也许我错了).它将查询参数与相关实体一起缓存.

这就是我所知道的hibernate中的缓存.

有人可以给我更多细节吗?

顺便说一句,我不擅长sql/jdbc工作,所以我也想知道我应该怎么知道sql/jdbc来了解更多关于hibernate(任何文档?)的内容?我不想只是一个hibernate用户,因为它只是一个工具,我想要的是从这个精彩的框架中学到一些东西.:)

caching hibernate jdbc

6
推荐指数
1
解决办法
1377
查看次数

动态为对象添加属性

你好:在我们的应用程序中,我们从数据库中检索了一些数据,例如,表有列:id,name,age,address,email。

然后我们会根据客户的要求得到其中一些属性。

如果客户需要 id、姓名,我们将获取 id 姓名,如果客户需要 id、姓名、年龄,我们将获取 id、姓名、年龄。

现在我们要创建一个类来包装这些属性。但是我们并不确切知道需要哪个字段。

String[] requestPro={"name","id"}; //this field is specified by client
Map<String, Object> map=new HashMap<String, Object>();
Entity en=Entity.newInstance();
for(String p:requestPro){
    map.put(p, BeanUtils.getProperty(en, p));
}
Run Code Online (Sandbox Code Playgroud)

这里可以用Class来代替map吗?

java reflection

6
推荐指数
1
解决办法
2万
查看次数

为嵌套元素设置不同的不透明度

我想制作类似于exporlor的win7文件效果:标题栏的不透明度小于1,而内容没有不透明度.

然后我尝试将两个元素组合在一起来制作它:

<div id="outer" style="background-color:black;opacity:0.6;padding:30px;position:absolute;width:400px;height:400px;">
    <div id="inner" style="background-color:gray;opacity:1;height:100%;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想让div#outer不透明度为0.8,然后使其div#inner不具有不透明度(opacity = 1).

但似乎这不起作用.由于不透明度div#outer会影响到div#inner.

有任何想法吗?

html css

6
推荐指数
1
解决办法
3140
查看次数

如何在nodejs中创建应用程序级缓存对象

我通过快速框架使用NodeJS,现在我想使用内存缓存来保存对象(差不多3000).

我曾想过创建一个像

cache.js:

var cache={};
module.exports=cache;
Run Code Online (Sandbox Code Playgroud)

然后在任何模块中我需要缓存我可以要求它:

require('cache')
cache.xx=xxx
Run Code Online (Sandbox Code Playgroud)

但是,似乎我无法确保该cache对象将被创建,并且在应用程序运行期间将只有一个副本.由于require可能会使用模块缓存.(从此链接:https://stackoverflow.com/a/9210901/306719)

有什么建议吗?

caching node.js

6
推荐指数
1
解决办法
1555
查看次数