Advertisement
Guest User

Untitled

a guest
Mar 1st, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.56 KB | None | 0 0
  1. Failed to load https://bkcuvue.dev/api/v1/userData: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://bkcuvuelv56.dev' is therefore not allowed access.
  2.  
  3. <?php
  4.  
  5. namespace AppHttp;
  6.  
  7. use IlluminateFoundationHttpKernel as HttpKernel;
  8.  
  9. class Kernel extends HttpKernel
  10. {
  11. /**
  12. * The application's global HTTP middleware stack.
  13. *
  14. * These middleware are run during every request to your application.
  15. *
  16. * @var array
  17. */
  18. protected $middleware = [
  19. IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode::class,
  20. IlluminateFoundationHttpMiddlewareValidatePostSize::class,
  21. AppHttpMiddlewareTrimStrings::class,
  22. IlluminateFoundationHttpMiddlewareConvertEmptyStringsToNull::class,
  23. AppHttpMiddlewareTrustProxies::class,
  24. BarryvdhCorsHandleCors::class,
  25. ];
  26.  
  27. /**
  28. * The application's route middleware groups.
  29. *
  30. * @var array
  31. */
  32. protected $middlewareGroups = [
  33. 'web' => [
  34. AppHttpMiddlewareEncryptCookies::class,
  35. IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,
  36. IlluminateSessionMiddlewareStartSession::class,
  37. // IlluminateSessionMiddlewareAuthenticateSession::class,
  38. IlluminateViewMiddlewareShareErrorsFromSession::class,
  39. AppHttpMiddlewareVerifyCsrfToken::class,
  40. IlluminateRoutingMiddlewareSubstituteBindings::class,
  41. LaravelPassportHttpMiddlewareCreateFreshApiToken::class,
  42. ],
  43.  
  44. 'api' => [
  45. 'throttle:60,1',
  46. 'bindings',
  47. ],
  48. ];
  49.  
  50. /**
  51. * The application's route middleware.
  52. *
  53. * These middleware may be assigned to groups or used individually.
  54. *
  55. * @var array
  56. */
  57. protected $routeMiddleware = [
  58. 'auth' => IlluminateAuthMiddlewareAuthenticate::class,
  59. 'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,
  60. 'bindings' => IlluminateRoutingMiddlewareSubstituteBindings::class,
  61. 'cache.headers' => IlluminateHttpMiddlewareSetCacheHeaders::class,
  62. 'can' => IlluminateAuthMiddlewareAuthorize::class,
  63. 'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,
  64. 'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
  65. ];
  66. }
  67.  
  68. Route::group(['prefix'=>'v1','middleware'=>'auth:api'],function(){
  69. // Route::group(['prefix'=>'v1'],function(){
  70.  
  71. // user
  72. Route::get('/profile', 'UserController@getUser');
  73. Route::get('/userData', 'UserController@userData');
  74.  
  75. });
  76.  
  77. import Vue from 'vue';
  78. import Admin from './admin.vue';
  79. import VueRouter from 'vue-router';
  80. import routes from './routes';
  81. import { store } from './store/store';
  82. import Axios from 'axios';
  83. import id from 'vee-validate/dist/locale/id';
  84. import VeeValidate, { Validator } from 'vee-validate';
  85.  
  86. Validator.localize('id',id); //localization
  87. Vue.use(VueRouter);
  88. Vue.use(VeeValidate, {fieldsBagName: 'formFields'});
  89.  
  90. window.axios = Axios;
  91. axios.defaults.headers.common = { 'X-Requested-With': 'XMLHttpRequest'};
  92. let token = document.head.querySelector('meta[name="csrf-token"]');
  93.  
  94. if (token) {
  95. window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
  96. } else {
  97. console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
  98. }
  99.  
  100. const router = new VueRouter({
  101. base: '/admins',
  102. mode: 'history',
  103. routes
  104. });
  105.  
  106. router.beforeEach((to, from, next) => {
  107. window.scrollTo(0, 0);
  108. if (to.fullPath !== "/login") {
  109. axios.get('/api/v1/profile').then(response => {
  110. next();
  111. }).catch(error => {
  112. router.push('/login');
  113. })
  114. }else{
  115. next();
  116. }
  117. });
  118.  
  119. Vue.directive('tooltip', function(el, binding){
  120. $(el).tooltip({
  121. title: binding.value,
  122. placement: binding.arg,
  123. trigger: 'hover'
  124. })
  125. });
  126.  
  127. export const bus = new Vue();
  128.  
  129. const app = new Vue({
  130. store,
  131. router,
  132. render: h => h(Admin)
  133. }).$mount('#app');
  134.  
  135. <template>
  136. <div class="login-container">
  137. <!-- Page container -->
  138. <div class="page-container">
  139. <!-- Page content -->
  140. <div class="page-content">
  141. <!-- Main content -->
  142. <div class="content-wrapper">
  143.  
  144. <!-- login form -->
  145. <div class="panel panel-body login-form">
  146. <div class="text-center">
  147. <h5 class="content-group">SIMO
  148. <small class="display-block">Sistem Informasi Manajemen Organisasi</small>
  149. </h5>
  150. </div>
  151.  
  152. <message :show="message.show">
  153. <p>{{message.content}}</p>
  154. </message>
  155.  
  156. <message :show="errors.any()" v-if="submited">
  157. <h4>
  158. <i class="icon-cancel-circle2"></i> Oops terjadi kesalahan</h4>
  159. <ul>
  160. <li v-for="error in errors.items">{{error.msg}}</li>
  161. </ul>
  162. </message>
  163.  
  164. <div class="form-group has-feedback has-feedback-right" :class="{'has-error' : errors.has('Username')}">
  165. <div class="input-group">
  166. <div class="input-group-addon">
  167. <i class="icon-user text-muted"></i>
  168. </div>
  169. <input type="text" class="form-control" placeholder="Username" v-model="username" name="Username" v-validate="'required|min:5'" @keyup.enter="login" autofocus>
  170. </div>
  171.  
  172. <div class="form-control-feedback" v-if="errors.has('Username')">
  173. <i class="icon-cancel-circle2"></i>
  174. </div>
  175. </div>
  176.  
  177. <div class="form-group has-feedback has-feedback-right" :class="{'has-error' : errors.has('Password')}">
  178. <div class="input-group">
  179. <div class="input-group-addon">
  180. <i class="icon-lock2 text-muted"></i>
  181. </div>
  182. <input type="password" class="form-control" placeholder="Password" v-model="password" name="Password" v-validate="'required'"
  183. @keyup.enter="login">
  184. </div>
  185.  
  186. <div class="form-control-feedback" v-if="errors.has('Password')">
  187. <i class="icon-cancel-circle2"></i>
  188. </div>
  189. </div>
  190.  
  191. <div class="form-group">
  192. <button type="button" class="btn btn-primary btn-block" disabled v-if="loading">
  193. <i class="icon-spinner2 spinner"></i>
  194. </button>
  195. <button type="button" class="btn btn-primary btn-block" @click.prevent="login" v-else>Login
  196. <i class="icon-circle-right2 position-right"></i>
  197. </button>
  198. </div>
  199. </div>
  200. <!-- /simple login form -->
  201. </div>
  202. <!-- /main content -->
  203. </div>
  204. <!-- /page content -->
  205. </div>
  206. <!-- /page container -->
  207. </div>
  208. </template>
  209.  
  210. <script type="text/javascript">
  211. import Message from "../components/message.vue";
  212. import Progress from '../assets/plugins/loaders/progressbar.min.js'
  213. export default {
  214. components: {
  215. Message
  216. },
  217. data() {
  218. return {
  219. username: "",
  220. password: "",
  221. loading: false,
  222. submited: '',
  223. message: {
  224. show: false,
  225. className: '',
  226. content: ''
  227. }
  228. }
  229. },
  230. mounted() {
  231. Progress.progressbar();
  232. },
  233. methods: {
  234. login() {
  235. this.$validator.validateAll().then((result) => {
  236. if(result){
  237. this.message.show = false;
  238. this.loading = true;
  239. axios.post('/login', {
  240. username: this.username,
  241. password: this.password
  242. })
  243. .then(response => {
  244. this.$router.push('/');
  245. }).catch(error => {
  246. this.message.show = true;
  247. this.message.className = 'bg-danger';
  248. if (error.response.status === 422) {
  249. this.message.content = "Username atau password anda salah.";
  250. } else {
  251. this.message.content = error.response.data.message;
  252. }
  253. this.loading = false;
  254. });
  255. this.submited = false;
  256. }else{
  257. window.scrollTo(0, 0);
  258. this.submited = true;
  259. }
  260. });
  261. }
  262. }
  263. }
  264. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement