jueves, 21 de enero de 2016

Autenticación PAM en Apache con Ubuntu 15.04

Instalamos los paquetes necesarios:

sudo apt-get install libapache2-mod-authz-unixgroup pwauth

habilitamos el módulo

sudo a2enmod authnz_external


Editamos el sitio (en mi caso mczones.conf ), en mi caso he creado tres directorios dos con autenticación básica y otro el de alumnos con PAM. Se debería instalar, en cualquier caso, el uso de certificados obligatorio ya que sino las contraseñas irán en plano.

<VirtualHost *:80>

ServerAdmin webmaster@mczones.es
ServerName  www.mczones.es
ServerAlias mczones.es

DirectoryIndex index.html
DocumentRoot /var/www/mczones/

<directory />
Options FollowSymLinks
AllowOverride None
</directory>

<directory /var/www/mczones>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</directory>

<directory /var/www/mczones/privado>
AllowOverride AuthConfig
AuthType Basic
AuthName "Acceso restringido a alumnos A Carballeira"
# (La siguiente línea es opcional)
AuthBasicProvider file
AuthUserFile /etc/apache2/mczones/passwords
Require valid-user
Order allow,deny
Allow from all
</directory>

<directory /var/www/mczones/profesores>
AllowOverride AuthConfig
AuthType Basic
AuthName "Acceso restringido a profesores de A Carballeira"
# (La siguiente línea es opcional)
AuthBasicProvider file
AuthUserFile /etc/apache2/mczones/passwords
Require user pepito
Order allow,deny
Allow from all
</directory>

AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe

<directory /var/www/mczones/alumnos>
AllowOverride AuthConfig
AuthType Basic
AuthName "Acceso restringido a alumnos de A Carballeira"
# (La siguiente línea es opcional)
AuthBasicProvider external
AuthExternal pwauth
Require user alumno
Order allow,deny
Allow from all
</directory>


</VirtualHost>



Reiniciamos apache:
sudo /etc/init.d/apache2 restart
ó
systemctl restart apache2
También se podría emplear require valid-user



Enlaces:
http://www.ciudadblogger.com/p/conversor-de-html-texto-plano.html
http://blog.n3rd.nl/Setting+Up+Apache+With+PAM+On+Ubuntu.aspx


domingo, 10 de mayo de 2015

Nomenclatura de controles Swing.


Documento sobre estándares de programación:
ESTÁNDARES DE PROGRAMACIÓN
Versión 1.0





PROPUESTO POR: Nora La Serna Palomino                   nlaserna@pucp.edu.pe

ELABORADO POR:                       
SEMINARIO HUAMANÍ, LIZZETT NATALY                    20037185
RIOS GÁRATE, CÉSAR HUMBERTO                            20042153
BALBIN AVALOS, CAROLINA                                      20050373
DÍAZ MUGURUZA, SHEYLA ABIGAIL                           20057079
CHÁVEZ LAZARTE, VICTOR ALFONSO                       20062038



REVISADO POR:     Joseph Gallart Suárez                           jgallart@pucp.edu.pe

Enlaces:


Fuente
Copia del documento.

jueves, 30 de abril de 2015

package corredoresporpaises;
import java.util.ArrayList;
/**
*
* @author juan
*/
public class Pais {
private String nombre;
private ArrayList corredores;
public ArrayList getCorredores() {
return corredores;
}

public void setCorredores(ArrayList corredores) {
this.corredores = corredores;
}

public Pais(String nombre) {
this.nombre = nombre;
corredores = new ArrayList<>();
}
public String getNombre() {
return nombre;
}

public boolean anhade(Corredor nuevo) {
boolean retorno = true;

try {
if (corredores.contains(nuevo)){
System.out.println("El corredor ya estaba incluido");

}
else
{
nuevo.setPais(this);
corredores.add(nuevo);
}

} catch (Exception e) {
retorno=false;
}
return retorno;
}
public void listarCorredores(){
System.out.println(nombre);
System.out.println("==============");
for (Corredor corredor : corredores) {
System.out.println(corredor);
}
}


jueves, 12 de febrero de 2015

ejercicio 11 tema3, números aleatorios

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ejercicio11;
import java.util.Random;
/**
*
* @author juan
*/
public class Ejercicio11 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int [] lista = new int [25];
float [] auxi = new float[4];
Random al = new Random();

Ejercicio 10, tema 3 Generar un examen aleatorio de preguntas

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ejercicio9;
/**
*
* @author juan
*/
public class Test {
private int Num;
private String Enunciado;
private String [] Opciones = new String[4];
private int Valida;
public int getNum() {
return Num;
}
public void setNum(int Num) {
this.Num = Num;
}

lunes, 9 de febrero de 2015

Clase monitor con uso en un array para buscar repeticiones

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package preparacion4;
/**
*
* @author juan
*/
public class Monitor {
String Fabricante;
int Pulgadas;
int ResolucionH;
int ResolucionV;
String Modelo;
public Monitor() {
}

jueves, 5 de febrero de 2015

Tema 3 ejercicio 8: Creando vector de ecuaciones de segundo grado

package ejercicio8;
import java.util.Random;

/**
 *
 * @author juan
 */
public class Ejercicio8 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Random al = new Random();
        EcuacionSegundoGrado [] vector = new EcuacionSegundoGrado [5];
        int contIncorrectas;
        
        for (int i = 0; i < 5; i++) {
            
            

miércoles, 4 de febrero de 2015

Ejercicio 6 Tema 3: Comprobar nif usando arrays

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package ejercicio5;
import java.util.Scanner;
/**
 *
 * @author juan
 */
public class Ejercicio5 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        char [] letras ={'T','R','W','A','G','M','Y','F', 'P', 'D','X','B', 'N', 'J', 'Z', 'S', 'Q','V', 'H', 'L', 'C', 'K','E', };
        String cadena;
        int numDni;
        int resto;
        char letra;
        String numeros;
        int cont =0;
        boolean esNumero;
        
        Scanner leer = new Scanner(System.in);