Skip to content

Commit 3853904

Browse files
committed
Высылаю задание к лабе 3.
1 parent 336874a commit 3853904

File tree

2 files changed

+144
-181
lines changed

2 files changed

+144
-181
lines changed

src/RolesPermissions.stories.js

Lines changed: 0 additions & 181 deletions
This file was deleted.
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
import { storiesOf } from '@storybook/react';
2+
import React from 'react';
3+
4+
import { Form, Button, Checkbox, Input } from 'antd';
5+
6+
//cas.javascript.file = /js/cas.js
7+
//import {cas} from frontend.properties;
8+
//import { cas } from "org.jasig.cas:cas-server-support-rest:${project.'cas.version'}";
9+
10+
class AdvancedSearchForm extends React.Component {
11+
setRegistration = async () => {
12+
let login = document.getElementById('login').value;
13+
let password = document.getElementById('password').value;
14+
15+
if (login == '') alert('Введите логин!!!');
16+
else if (password == '') alert('Введите пароль!!!');
17+
else if (login.trim() == '') alert('Логин не должен содержать одни пробелы!!!');
18+
else if (password.trim() == '') alert('Пароль не должен содержать одни пробелы!!!');
19+
20+
console.log(login);
21+
var encryptedlogin = this.Encryptor(login);
22+
console.log(encryptedlogin);
23+
24+
console.log(password);
25+
var encryptedpassw = this.Encryptor(password);
26+
console.log(encryptedpassw);
27+
28+
//let getusers = await this.getUser(encryptedlogin, encryptedpassw).then((r) => r.json());
29+
//console.log(getusers);
30+
31+
let addusers = await this.addUser(encryptedlogin, encryptedpassw).then((r) => r.json());
32+
console.log(addusers);
33+
34+
alert('Регистрация успешно завершена!');
35+
36+
this.handleReset();
37+
};
38+
39+
getUser = (username, password) => {
40+
let shit = 'https://cors-anywhere.herokuapp.com/';
41+
let url = 'http://82.202.226.30:8080';
42+
let prefix = '/master/api/1/users';
43+
44+
var adminname = 'master';
45+
var adminpassword = 'commander';
46+
var headers = new Headers();
47+
headers.append('Authorization', 'Basic ' + btoa(adminname + ':' + adminpassword));
48+
headers.append('Content-Type', 'application/json');
49+
50+
let webData = fetch(shit + url.concat(prefix), {
51+
method: 'GET',
52+
headers: headers,
53+
body: JSON.stringify(data),
54+
});
55+
56+
return webData;
57+
};
58+
59+
addUser = (username, password) => {
60+
let shit = 'https://cors-anywhere.herokuapp.com/';
61+
let url = 'http://82.202.226.30:8080';
62+
let prefix = '/master/api/1/users/create';
63+
64+
var adminname = 'master';
65+
var adminpassword = 'commander';
66+
var headers = new Headers();
67+
headers.append('Authorization', 'Basic ' + btoa(adminname + ':' + adminpassword));
68+
headers.append('Content-Type', 'application/json');
69+
70+
var data = {
71+
'Subject.UPVSIdentityID': username,
72+
'Subject.FormattedName': username,
73+
'Actor.UPVSIdentityID': password,
74+
'Actor.FormattedName': password,
75+
'SPR.Roles': 'simple-user',
76+
};
77+
78+
let webData = fetch(shit + url.concat(prefix), {
79+
method: 'POST',
80+
headers: headers,
81+
body: JSON.stringify(data),
82+
});
83+
84+
return webData;
85+
};
86+
87+
Encryptor = (text) => {
88+
const crypto = require('crypto');
89+
const cipher = crypto.createCipher('aes192', text);
90+
91+
var encrypted = '';
92+
cipher.on('readable', () => {
93+
var data = cipher.read();
94+
if (data) encrypted += data.toString('hex');
95+
});
96+
97+
cipher.end();
98+
return encrypted;
99+
};
100+
101+
handleReset = () => {
102+
var inputs = document.querySelectorAll('Input');
103+
for (var i = 0; i < inputs.length; i++) {
104+
inputs[i].value = '';
105+
}
106+
};
107+
108+
render() {
109+
return (
110+
<Form name='form1'>
111+
<div>
112+
<h1>&nbsp;&nbsp;Registration</h1>
113+
</div>
114+
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User:</div>
115+
<div>
116+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
117+
{<Input style={{ width: '20%' }} id='login' />}
118+
</div>
119+
<div>&nbsp;</div>
120+
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Password:</div>
121+
<div>
122+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
123+
{<Input style={{ width: '20%' }} type='password' maxLength='15' id='password' />}
124+
</div>
125+
<div>&nbsp;</div>
126+
<div className='form-operations'>
127+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
128+
<Button onClick={this.setRegistration} type='primary' htmlType='submit'>
129+
Register
130+
</Button>
131+
<Button style={{ marginLeft: 8 }} onClick={this.handleReset} type='primary' htmlType='submit'>
132+
Clear
133+
</Button>
134+
</div>
135+
</Form>
136+
);
137+
}
138+
}
139+
140+
const WrappedAdvancedSearchForm = Form.create({ name: 'normal_login' })(AdvancedSearchForm);
141+
142+
storiesOf('Register Form', module).add('Action', () => (
143+
<WrappedAdvancedSearchForm>Register Form</WrappedAdvancedSearchForm>
144+
));

0 commit comments

Comments
 (0)