- 浏览: 194842 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (101)
- 职业 (4)
- 生活 (3)
- 场景应用 (6)
- flex (14)
- java (31)
- php (2)
- python (2)
- hadoop (6)
- 项目管理 (1)
- 工作流 (4)
- 手机web应用 (3)
- 算法 (4)
- 小技巧 (1)
- 数据库 (2)
- sphinx (1)
- web综合 (15)
- spring (5)
- 设计 (9)
- javascript (3)
- linux (2)
- 报表 (2)
- delphi (1)
- ejb (1)
- 架构 (3)
- uml (3)
- lucene (2)
- BI (1)
- 多线程 (1)
- 地图 (1)
- gis (1)
- 网络基础 (1)
- spark (2)
- 分布式 (3)
- ext (1)
- android (3)
- arduino (1)
- 协同办公 (2)
- OA流程 (2)
- 畅想 (1)
- ios (3)
- swift (1)
- webkit (1)
- c (1)
- 浏览器 (1)
- html5 (2)
- rtmp (1)
- soket (1)
- AI (2)
- tensorflow (1)
- ignite (1)
- react (4)
- 新空间 (2)
- 闲话 (3)
- docker (1)
- kubernetes (1)
最新评论
-
wenzhiyinghen:
...
spark 学习 -
zlbdexiaohao:
flex 写的时钟 -
minn84:
luoguohong88 写道你上传的那个openi.zip ...
openi1.3 eclipse 整合调试 -
luoguohong88:
你上传的那个openi.zip (5.5 MB)有问题 能再上 ...
openi1.3 eclipse 整合调试 -
minn84:
demo的思路很简单,主要是两点:1.hadoop负责处理数据 ...
hadoop+lucene+web 综合小demo
import javax.swing.JFrame;
public class PermissionTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setSecurityManager(new SecurityManager());
JFrame frame=new PermissionTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class PermissionTestFrame extends JFrame {
private JTextField textField;
private WordCheckTextArea textArea;
private static final int DEFAULT_WIDTH=400;
private static final int DEFAULT_HEIGHT=200;
public PermissionTestFrame()
{
this.setTitle("PermissionTest");
this.setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
textField=new JTextField(20);
JPanel panel=new JPanel();
panel.add(textField);
JButton openButton=new JButton("Indert");
panel.add(openButton);
openButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
insertWords(textField.getText());
}
});
add(panel,BorderLayout.NORTH);
textArea=new WordCheckTextArea();
add(new JScrollPane(textArea),BorderLayout.CENTER);
}
private void insertWords(String words)
{
try
{
textArea.append(words+"\n");
}catch(SecurityException e)
{
JOptionPane.showMessageDialog(this,"I am sorry,but I cannot do that");
}
}
}
import java.security.Permission;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class WordCheckPermission extends Permission {
private String action;
public WordCheckPermission(String name) {
super(name);
}
public WordCheckPermission(String name,String anAction)
{
super(name);
action=anAction;
}
@Override
public boolean equals(Object other) {
if(other==null)return false;
if(!getClass().equals(other.getClass())) return false;
WordCheckPermission b=(WordCheckPermission) other;
if(!action.equals(b.action)) return false;
if(action.equals("insert"))
return getName().equals(b.getName());
else if(action.equals("avoid"))
return badWordSet().equals(b.badWordSet());
else
return false;
}
@Override
public String getActions() {
return action;
}
@Override
public int hashCode() {
return getName().hashCode()+action.hashCode();
}
@Override
public boolean implies(Permission other) {
if(!(other instanceof WordCheckPermission)) return false;
WordCheckPermission b=(WordCheckPermission) other;
if(action.equals("insert"))
{
return b.action.endsWith("insert")&&getName().indexOf(b.getName())>=0;
}else if(action.equals("avoid"))
{
if(b.action.equals("avoid"))
return b.badWordSet().containsAll(badWordSet());
else if(b.action.equals("insert"))
{
for(String badWord:badWordSet())
if(b.getName().indexOf(badWord)>=0)
return false;
return true;
}else
{
return false;
}
}
else return false;
}
public Set<String> badWordSet()
{
Set<String> set=new HashSet<String>();
set.addAll(Arrays.asList(getName().split(",")));
return set;
}
}
import javax.swing.JTextArea;
public class WordCheckTextArea extends JTextArea {
/* (non-Javadoc)
* @see javax.swing.JTextArea#append(java.lang.String)
*/
@Override
public void append(String str) {
// TODO Auto-generated method stub
WordCheckPermission p=new WordCheckPermission(str,"avoid");
SecurityManager manager=System.getSecurityManager();
if(manager!=null)manager.checkPermission(p);
super.append(str);
}
}
//PermissionTest.policy
grant codeBase "file:d:/test/permission/"
{
//permission java.security.AllPermission;
permission WordCheckPermission "sex,drugs,c++", "avoid";
permission WordCheckPermission "my name is minn", "insert";
};
实现权限类
1)javac *.java
2)java -Djava.security.policy=PerssionTest.policy PermissionTest
public class PermissionTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setSecurityManager(new SecurityManager());
JFrame frame=new PermissionTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class PermissionTestFrame extends JFrame {
private JTextField textField;
private WordCheckTextArea textArea;
private static final int DEFAULT_WIDTH=400;
private static final int DEFAULT_HEIGHT=200;
public PermissionTestFrame()
{
this.setTitle("PermissionTest");
this.setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
textField=new JTextField(20);
JPanel panel=new JPanel();
panel.add(textField);
JButton openButton=new JButton("Indert");
panel.add(openButton);
openButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
insertWords(textField.getText());
}
});
add(panel,BorderLayout.NORTH);
textArea=new WordCheckTextArea();
add(new JScrollPane(textArea),BorderLayout.CENTER);
}
private void insertWords(String words)
{
try
{
textArea.append(words+"\n");
}catch(SecurityException e)
{
JOptionPane.showMessageDialog(this,"I am sorry,but I cannot do that");
}
}
}
import java.security.Permission;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class WordCheckPermission extends Permission {
private String action;
public WordCheckPermission(String name) {
super(name);
}
public WordCheckPermission(String name,String anAction)
{
super(name);
action=anAction;
}
@Override
public boolean equals(Object other) {
if(other==null)return false;
if(!getClass().equals(other.getClass())) return false;
WordCheckPermission b=(WordCheckPermission) other;
if(!action.equals(b.action)) return false;
if(action.equals("insert"))
return getName().equals(b.getName());
else if(action.equals("avoid"))
return badWordSet().equals(b.badWordSet());
else
return false;
}
@Override
public String getActions() {
return action;
}
@Override
public int hashCode() {
return getName().hashCode()+action.hashCode();
}
@Override
public boolean implies(Permission other) {
if(!(other instanceof WordCheckPermission)) return false;
WordCheckPermission b=(WordCheckPermission) other;
if(action.equals("insert"))
{
return b.action.endsWith("insert")&&getName().indexOf(b.getName())>=0;
}else if(action.equals("avoid"))
{
if(b.action.equals("avoid"))
return b.badWordSet().containsAll(badWordSet());
else if(b.action.equals("insert"))
{
for(String badWord:badWordSet())
if(b.getName().indexOf(badWord)>=0)
return false;
return true;
}else
{
return false;
}
}
else return false;
}
public Set<String> badWordSet()
{
Set<String> set=new HashSet<String>();
set.addAll(Arrays.asList(getName().split(",")));
return set;
}
}
import javax.swing.JTextArea;
public class WordCheckTextArea extends JTextArea {
/* (non-Javadoc)
* @see javax.swing.JTextArea#append(java.lang.String)
*/
@Override
public void append(String str) {
// TODO Auto-generated method stub
WordCheckPermission p=new WordCheckPermission(str,"avoid");
SecurityManager manager=System.getSecurityManager();
if(manager!=null)manager.checkPermission(p);
super.append(str);
}
}
//PermissionTest.policy
grant codeBase "file:d:/test/permission/"
{
//permission java.security.AllPermission;
permission WordCheckPermission "sex,drugs,c++", "avoid";
permission WordCheckPermission "my name is minn", "insert";
};
实现权限类
1)javac *.java
2)java -Djava.security.policy=PerssionTest.policy PermissionTest
发表评论
-
多语言版基础管理系统展示[es6版]-入门配置篇
2018-10-26 07:17 517新增一篇入门配置文档 原文地址: http://www.i8 ... -
多语言版基础管理系统展示[es6版] -流程配置效果
2017-12-17 19:42 704终于找到一个可以较好展示工作流程配置的 ... -
多语言版基础管理系统展示[es6版]-简单整合spring+tensorflow+ignite+hadoop
2017-08-05 18:14 8121.整合基于[多语言版基础管理系统展示[es6版] ] ... -
多语言版基础管理系统展示[es6版]-简单整合tensorflow
2017-05-03 19:48 1002在大数据和AI渐渐兴起的时候,这是一个关于大 ... -
基于html5的websocket和rtmp协议的java socket服务器
2016-12-07 07:20 1056现代企事业单位中,会涉及到数据推送和获取服 ... -
多语言版基础管理系统展示[flash版]-hadoop+spark+spring简单整合
2016-06-18 21:36 4280本demo基于多语言版基础管理系统展示[fl ... -
ios简单的增删查例子
2015-02-23 16:08 834本例子分为两 ... -
spark 学习
2013-05-18 00:13 19168spark,又一个传说中的分布式实现,详情:ht ... -
基于rtmp协议的java多线程服务器
2013-03-31 21:34 3835打算设计这个半开源服务的计划已经有很长时间了,大 ... -
矩阵算法实现修改
2013-03-23 00:10 1000前段时间因为项目需要,需要实现一个据说是某高 ... -
hadoop+lucene+web 综合小demo
2013-03-02 01:28 13707很长一段时间没有关注hadoop,突然间有兴致,于是动手又 ... -
ejb3.x 简单小 demo
2012-02-21 21:07 1160本demo适合有一定编程经验的自学者 ,简单易懂,涉及数据 ... -
java综合
2012-02-11 22:00 1426以下自定义的简单类中,分析涉及的基础知识 / ... -
java nio应用 aes字符串加密与解密
2010-08-18 22:36 1958import java.io.IOException; imp ... -
java excel内容转换为键/值对基本通用方法与数据库导入
2010-06-01 23:28 1680有时候我们需要从execel中导入大量的数据,编程过程中就遇到 ... -
简单servlet socket 整合
2010-05-05 21:52 4337package filter; import java.io ... -
java写的简单生成sql语句的工具方法
2010-04-20 23:02 3428jdbc编程中,最麻烦的是拼sql语句,尤其是字段太多的时候, ... -
基于rtmp协议用java nio写小型游戏服务器的总结3
2010-03-05 20:59 2152在flex使用rtmp协议进行连接的时候,有个握手的过程,详情 ... -
基于rtmp协议用java nio写小型游戏服务器的总结2
2010-03-04 21:41 2271今天介绍一下学习rtmp的过程,首先当然是baidu和goog ... -
基于rtmp协议用java nio写小型游戏服务器的总结1
2010-03-03 22:55 2483前一阵子,进了一家公司,工作的内容是写基于rtmp协议的jav ...
相关推荐
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, in
Java permission tree code
RolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission.javaRolePermission....
工作中遇到客户提出的sftp上传,把核心代码给大家
Android自定义action与permission的方法教程 pdf
java连接sql server端口错误
3.6.1 java.security.Permission 27 3.6.2 许可权集合 28 3.6.3 java.security.Unresolved Permission 29 3.6.4 java.io.FilePermission 31 3.6.5 java.net.SocketPermission 33 3.6.6 java.security....
Android Java原始码AndroidPermission 此源代码提供了Android许可的示例。 ##常见问题解答/联系方式/问题解答Mohammad Nurdin bin Norazan
这是有关java的编码规范,可以让我们知道在java中的编码规范所需要主要的问题
3.6.1 java.security.Permission 27 3.6.2 许可权集合 28 3.6.3 java.security.Unresolved Permission 29 3.6.4 java.io.FilePermission 31 3.6.5 java.net.SocketPermission 33 3.6.6 java.security....
网上有很多oracle授权,但是怎样回收这些授权呢???
The printed version of this draft book may not be photocopied without the express written permission of Sun. For the complete copyright notice, see Copyright. The online version differs from the ...
一、项目简述 本系统功能包括: 前台展示+后台管理,包括最基本的用户登录注册,下单, 购物车,购买,结算,订单查询,收货地址,后台商品管 理,订单管理,用户管理等等功能,小伙伴一起来看看 吧。...
Java中正则表达式使用方法详解,包括基础语法,初步认识,范围 各种条件限制验证等等
关键是本地服务器没有写入的权限 关键看这里吧(Permission denied), 一直没有看正方,以为是配置... java.io.FileNotFoundException: logs/bandwidth.log.2019-04-25.log (Permission denied) at java.io.FileNotFou
简单的Java照相机源码 可以获取USB摄像头的视频 /* * jmfcam05s.java 01.01a 07.11.2006 * * Copyright (c) 2006 Andy Dyble. All Rights Reserved. * * Permission is hereby granted, free of charge, to ...
总之原则是,对于开销很大的对象,只有在使用它时才创建,这个原则可以为我们节省很多宝贵的Java内存. 所以,有些人认为Java耗费资源内存,我以为这和程序编制思路也有一定的关系. 如何使用Proxy? 以Jive论坛系统为例,...
用于开发安卓手机使用wifi、蓝牙连接小票打印机实现打印,主要用于开发快递行业,实现实时打印不干胶快递单的功能。 此源码为核心源码,... <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
Java获取apk安装包信息工具jar包,获取versionCode、versionName、package、minSdkVersion、targetSdkVersion、uses-permission,等。
华为-Java语言规范 华为-Java语言规范 华为-Java语言规范